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

subprocess calling program that reads files in python

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

prog1 -o output input

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

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

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

虽然给我以下错误:

Couldn't find a .log or .out file

如果 input.log 文件丢失,我通常会得到。

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

在没有看到 prog1 的代码的情况下,我不知道它需要多少个参数,但目前您只通过 subprocess.call() 传入两个参数。

您可能需要在调用中拆分参数。可能是以下之一:

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

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

根据您上面的注释,我认为第二个是您想要的。但我需要查看 prog1 如何处理参数才能确定。