读取 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 如何处理参数才能确定。
我有一个程序 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 如何处理参数才能确定。