我有一个从命令行运行的程序,如下所示:
$ program a.txt b.txt
程序需要两个文本文件作为参数。我试图编写一个Python 3.2脚本来运行上面的程序。我该怎么做?目前,我正在尝试使用subprocess
模块,如下所示:
import subprocess
with open("a.txt", mode="r") as file_1:
with open("b.txt", mode="r") as file_2:
cmd = ['/Users/me/src/program', file_1, file_2]
process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
for line in process.stdout:
print(line)
我读了this post和posthere,它们似乎描述了我的问题的类似解决方案。不幸的是,在阅读了这些文章之后,我仍然不能让我的Python代码运行我的程序。
有人能帮忙吗?提前谢谢!
根据您的需求,
os.system(cmdline)
可能是simples解决方案。看看@Chris's answer,还有:
子进程不会等待命令完成,因此应该使用
wait
方法。subprocess.Popen
需要一个字符串数组。数组中的两个项是文件句柄。您需要将实际的文件name传递给您试图运行的程序。完全可以去掉
with open(...) as ...
行。相关问题 更多 >
编程相关推荐