从python调用非python程序?

从python调用非python程序?,python,system-calls,Python,System Calls,我目前正努力从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.endswi

我目前正努力从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?

您可以使用:

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])

您不能在命令调用中指定输出文件吗?如何将输入文件名传递给程序?我真的不明白你的例子,是“-input”应该是文件名,还是应该在“-input”之后(省略)?啊,对不起-文件名出现在输入和输出之后,即,-input[fname.in]-output[fname.out]。谢谢Luper-你为我节省了几个小时!