我真的很喜欢使用.format来调用命令,并且不重复我的话。我有这个功能
def function_1(command):
subprocess.call(['{0} ; {1} ; {2}; {3}'.format(var_0, var_1, var_2, command)])然后在另一个函数中
def function_2()
function_1('command {0} {2}')我想通过简单地调用第一个函数中定义的变量来使用它们,就像我在第一个函数中一样。我不想重复在这两个函数中都有一个.format。
如果该字符串在第二个函数中为'{0}‘,为什么编译器不将其提取并将其视为与第一个函数中的'{0}’相同。当你通过参数传递{ }时,它不会拾取它吗?
有没有一种简单的方法呢?毕竟我想要这样的东西:
subprocess.call(['{0}; {1}; {2}; command {0} {2}'.format(var_0, var_1, var_2)])这暂时不起作用。它打印这个..。
{0} {2} 发布于 2017-06-19 21:36:21
使用command连接上一个字符串。您不需要为command中保存的新占位符设置格式
def function_1(command):
s = '{0} ; {1} ; {2}; ' + command
subprocess.call([s.format(var_0, var_1, var_2)])command中的占位符现在用于以下行中完成的格式设置。
为了使command的定位更加灵活,您可以将大括号对起来,并应用预先格式化的步骤。
def function_1(command):
s = '{{0}} ; {{1}} ; {{2}}; {0}'.format(command)
subprocess.call([s.format(var_0, var_1, var_2)])演示:
>>> '{{0}} {0}'.format('command {0} {2}')
'{0} command {0} {2}'发布于 2017-06-19 21:34:50
希望这就是你所期待的。
subprocess.call(['{var0}; {var1}; {var2}; command {var0} {var2}'.format(var0=var_0, var1=var_1, var2=var_2)])https://stackoverflow.com/questions/44631908
复制相似问题