我有一个程序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,所以任何帮助都会非常感激!
答案 0 :(得分:0)
没有看到prog1的代码,我不知道它需要多少个参数,但是目前你只通过subprocess.call()传递了两个。
您可能需要在通话中拆分args。也许其中一个如下:
subprocess.call(['prog1', '-o', 'output', 'input'])
或
subprocess.call(['prog1', '-o output', 'input'])
根据您的上述说明,我认为第二个是你想要的。但我需要看看prog1如何处理参数以确定。