运行Python 2.6.6,并且每当我尝试使用两个变量(它们是另一个变量的路径)时,都会出现空白错误:
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
这是我的代码,问题出在cmd变量上:
from subprocess import call, Popen, PIPE, STDOUT
example = '"C:\\Program Files\\Example\\test.cmd"'
output = '"C:\\test\\python\\reportFromPython.xml"'
cmd = example + " -T 'testing title' " + output
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT)
output = p.stdout.read()
print output
如果我更改
cmd = example + " -T 'testing title' " + output
到
cmd = example + " -T 'testing title' "
然后它可以工作,但是我需要输出部分...如何使它与两个变量一起使用?
答案 0 :(得分:1)
根据this answer,如果您正在运行.cmd文件,则不需要shell=True
。然后,您可以将参数作为列表传递:
cmd = [example, "-T", "'testing title'", output]
除删除shell=True
之外,其余代码将相同。