从Python调用非Python程序?
我现在遇到一个问题,就是如何在Python脚本中调用一个不是Python写的程序。
我有大约1000个文件,如果把这些文件传给一个C++程序,就能生成大约1000个输出文件。每个输出文件都必须有不同的名字。
我想运行的命令大概是这样的:
program_name -input -output -o1 -o2 -o3
到目前为止,我尝试过:
import os
cwd = os.getcwd()
files = os.listdir(cwd)
required_files = []
for i in file:
if i.endswith('.ttp'):
required_files.append(i)
所以,我有一个包含必要文件的数组。我的问题是——我该如何遍历这个数组,对于每个文件,把它作为参数传给上面的命令(程序名),并为每个文件指定一个独特的输出ID呢?
1 个回答
11
你可以使用 subprocess 来实现这个功能:
import os
import subprocess
cwd = os.getcwd()
for i in os.listdir(cwd):
if i.endswith('.ttp'):
o = i + "-out"
p = subprocess.call(["program_name", "-input", i, "-output", o])