将变量传递给需要引号的外部程序

时间:2016-02-16 20:24:49

标签: python windows

当尝试使用开关调用外部程序时,我被引用了引号的程序要求。

到目前为止,我输入的代码示例如下:

from subprocess import call

answer = raw_input("Please enter a variable.")

subprocess.call(["program.exe", "/f:", """answer""", "/s:", """answer"""])

然而,这并不起作用,因为子流程只会显示"answer"而不是分配给答案的变量。

该计划本身需要C:\program.exe /f:"test" /s:"test"

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

将shell命令作为单个格式化字符串传递:

from subprocess import call

answer = raw_input("Please enter a variable.")
cmd = 'program.exe /f: "{0}" /s: "{0}"'.format(answer)
subprocess.call(cmd)