subprocess.call()不工作Python

时间:2014-04-05 17:22:59

标签: python-2.7 cmd subprocess system-calls

我正在尝试将参数传递给我的脚本中C编写的可执行文件,但是,程序没有执行,并且在运行可执行文件时不会出现控制台窗口。

我试图使用os.system() and subprocess.call()运行可执行文件,return 0我认为这意味着命令执行成功,但我的可执行文件没有运行。

我在这里缺少什么?

subprocess.call(["C:\Program Files (x86)\Hello\myApp.exe", "-i abc.txt -o xyz.pdf"],shell=True)

os.system('"'+'C:\Program Files (x86)\Hello\myApp.exe -i abc.txt -o xyz.pdf'+'"');

我尝试过没有参数的运行,但程序仍未执行。

1 个答案:

答案 0 :(得分:0)

除非myApp.exe是shell命令,例如dir;不要在Windows上使用shell=True

如果使用list参数,则每个列表项应该是程序的单独参数:

from subprocess import check_call

check_call([r'C:\Program Files (x86)\Hello\myApp.exe', #NOTE: `r''` literal
            '-i', 'abc.txt', '-o', 'xyz.pdf'])