在Python中读取文件的子进程调用程序

时间:2015-12-07 18:05:28

标签: python subprocess

我有一个程序prog1,它将输出和输入文件的根名称作为输入变量。所以在命令行上我会调用

prog1 -o output input

处理input.in和input.log并将结果输出到output.1,output.2,...

现在,我需要从python例程调用这个程序。

subprocess.call(["prog1", '-o output input'])

虽然给了我以下错误:

  

无法找到.log或.out文件

如果缺少input.log文件,我通常会得到它。

我想我正在做一些非常愚蠢的事情,我知道我还不太了解内部实际上做了什么subpocess,所以任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:0)

没有看到prog1的代码,我不知道它需要多少个参数,但是目前你只通过subprocess.call()传递了两个。

您可能需要在通话中拆分args。也许其中一个如下:

subprocess.call(['prog1', '-o', 'output', 'input'])

subprocess.call(['prog1', '-o output', 'input'])

根据您的上述说明,我认为第二个是你想要的。但我需要看看prog1如何处理参数以确定。