从python调用非python程序?

Dar*_*ick 4 python system-calls

我目前正在努力从python脚本调用非python程序.

我有一个〜1000个文件,当通过这个C++程序时将生成~1000个输出.每个输出文件必须具有不同的名称.

我希望运行的命令是以下形式:

program_name -input -output -o1 -o2 -o3
Run Code Online (Sandbox Code Playgroud)

到目前为止,我尝试过:

import os

cwd = os.getcwd()

files = os.listdir(cwd)

required_files = []

for i in file:
    if i.endswith('.ttp'):
         required_files.append(i)
Run Code Online (Sandbox Code Playgroud)

所以,我有一系列必要的文件.我的问题 - 我如何迭代数组和每个条目,将其作为参数传递给上面的命令(program_name)并为每个文件指定唯一的输出ID?

Lup*_*uch 11

您可以为此目的使用子进程:

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])
Run Code Online (Sandbox Code Playgroud)