将绝对路径传递给subprocess.call()[Python]

时间:2018-03-27 15:43:33

标签: python subprocess

我正在编写一个应调用外部可执行文件的脚本,该文件将路径作为参数(并生成另一个文件)。我使用了以下语法:
$ clang++ -std=c++11 main.cpp $ ./a.out 2015-09-10 struct tm { tm_sec = 0 tm_min = 0 tm_hour = 0 tm_mday = 10 tm_mon = 8 tm_year = 115 tm_wday = 0 tm_yday = 0 tm_isdst = 0 } failed to parse

它应该在同一目录中生成output.txt 我的问题是我没有得到任何输出或错误消息。如果我在cmd中手动运行该命令,一切正常。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用Popen来收到错误消息。

from subprocess import PIPE, Popen
Popen(['C:/program.exe', 'C:/input.txt'], stdout=PIPE)
for line in process.stdout:
    print(line)

我还怀疑你的可执行文件不起作用,因为工作目录不同。