I am currently struggling to call a non python program from a python script.
I have a ~1000 files that when passed through this C++ program will generate ~1000 outputs. Each output file must have a distinct name.
The command I wish to run is of the form:
program_name -input -output -o1 -o2 -o3
To date I have tried:
import os
cwd = os.getcwd()
files = os.listdir(cwd)
required_files = []
for i in file:
if i.endswith('.ttp'):
required_files.append(i)
So, I have an array of the neccesary files. My problem - how do I iterate over the array and for each entry, pass it to the above command (program_name) as an argument and specify a unique output id for each file?
You can use subprocess for that purpose:
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])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With