传递参数一次,但使用多次
我正在尝试这样做:
commands = { 'py': 'python %s', 'md': 'markdown "%s" > “%s.html”; gnome-open "%s.html"', }
命令['md'] % '文件.md'
但是正如你所看到的,commands['md'] 使用了参数 3 次,但是commands['py']只需使用一次。如何在不更改最后一行的情况下重复该参数(因此,只需传递一次参数?)
I'm trying to do this:
commands = { 'py': 'python %s', 'md': 'markdown "%s" > "%s.html"; gnome-open "%s.html"', }
commands['md'] % 'file.md'
But like you see, the commmands['md'] uses the parameter 3 times, but the commands['py'] just use once. How can I repeat the parameter without changing the last line (so, just passing the parameter one time?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
注意:接受的答案虽然适用于较旧版本和较新版本的 Python,但在较新版本的 Python 中不鼓励使用。
因此,如果您使用的是 Python 2.6 或更高版本,则应使用 < code>str.format 而不是旧的
%
运算符:Note: The accepted answer, while it does work for both older and newer versions of Python, is discouraged in newer versions of Python.
For this reason if you're using Python 2.6 or newer you should use
str.format
instead of the old%
operator:如果您不使用 2.6,则可以使用字典修改字符串:
%()s 语法适用于任何正常的 % 格式化程序类型,并接受常见的其他选项: http://docs.python.org/library/stdtypes.html#string-formatting-operations
If you are not using 2.6 you can mod the string with a dictionary instead:
The %()s syntax works with any of the normal % formatter types and accepts the usual other options: http://docs.python.org/library/stdtypes.html#string-formatting-operations
如果您不使用 2.6 或者想使用那些 %s 符号,这里有另一种方法:
'markdown "file.md" > “文件.md.html”; gnome-打开“file.md.html”'
If you're not using 2.6 or want to use those %s symbols here's another way:
'markdown "file.md" > "file.md.html"; gnome-open "file.md.html"'