Python 编写 运行 C 程序的脚本
Python Script to run a C Program
我有一个 C/C++ 程序,它接受一组参数并将一组输出显示到命令行(用于我的研究)。
我想针对不同的输入多次为该程序编写 Python 脚本 运行 并将输出写入文件。我正计划 运行 包含详尽输入的程序。
但是,我在Python中没有任何编写脚本或编程的经验。所以,我想知道我是否可以获得一些从哪里开始的指示。
举个例子,我想写一个脚本来做:
./program -flag1 [val1] -flag2 [val2] -arg1 -arg2 -arg3 ...
Append the output to Output.txt
./program -flag1 [val1] -flag2 [val2] -arg1 -arg2 -arg4 ...
Append the output to Output.txt
./program -flag1 [val1] -flag2 [val2] -arg1 -arg2 -arg5 ...
Append the output to Output.txt
...
...
./program -flag1 [val1] -flag2 [val2] -arg1000 -arg1000 -arg1000 ...
Append the output to Output.txt
编辑:我正在运行通过命令行在Linux上安装程序,bash。
EDIT2 SLN:仅供将来参考其他可能是初学者的人做类似的事情,解决方案如下所示。我去掉了所有只影响我的案例的部分。
import subprocess
from subprocess import Popen, PIPE
for commands in listArgs:
# Build command through for loop in listArgs.
# Details are omitted.
cmd = ["./program", "-flag1", "val1", "-flag2", "val2", "-arg1", "-arg2", ... ]
# Open/Create the output file
outFile = open('/path/to/file/Output.txt', 'a+')
result = subprocess.Popen(cmd, stdout=subprocess.PIPE)
out = result.stdout.read()
outFile.write(out)
outFile.close()
我不确定这是否是您要查找的内容,但您可以使用 python 通过终端执行命令。例如
import os
os.system("echo 'hello world'")
这将执行终端命令>> echo 'hello world'
目前推荐的 运行 和使用 Python 控制可执行文件的方法是 subprocess 模块。您可以使用不同的参数、捕获标准输出、处理它,或者只是重定向到任意文件。在此处查看文档 https://docs.python.org/3.2/library/subprocess.html#module-subprocess
我有一个 C/C++ 程序,它接受一组参数并将一组输出显示到命令行(用于我的研究)。
我想针对不同的输入多次为该程序编写 Python 脚本 运行 并将输出写入文件。我正计划 运行 包含详尽输入的程序。
但是,我在Python中没有任何编写脚本或编程的经验。所以,我想知道我是否可以获得一些从哪里开始的指示。
举个例子,我想写一个脚本来做:
./program -flag1 [val1] -flag2 [val2] -arg1 -arg2 -arg3 ...
Append the output to Output.txt
./program -flag1 [val1] -flag2 [val2] -arg1 -arg2 -arg4 ...
Append the output to Output.txt
./program -flag1 [val1] -flag2 [val2] -arg1 -arg2 -arg5 ...
Append the output to Output.txt
...
...
./program -flag1 [val1] -flag2 [val2] -arg1000 -arg1000 -arg1000 ...
Append the output to Output.txt
编辑:我正在运行通过命令行在Linux上安装程序,bash。
EDIT2 SLN:仅供将来参考其他可能是初学者的人做类似的事情,解决方案如下所示。我去掉了所有只影响我的案例的部分。
import subprocess
from subprocess import Popen, PIPE
for commands in listArgs:
# Build command through for loop in listArgs.
# Details are omitted.
cmd = ["./program", "-flag1", "val1", "-flag2", "val2", "-arg1", "-arg2", ... ]
# Open/Create the output file
outFile = open('/path/to/file/Output.txt', 'a+')
result = subprocess.Popen(cmd, stdout=subprocess.PIPE)
out = result.stdout.read()
outFile.write(out)
outFile.close()
我不确定这是否是您要查找的内容,但您可以使用 python 通过终端执行命令。例如
import os
os.system("echo 'hello world'")
这将执行终端命令>> echo 'hello world'
目前推荐的 运行 和使用 Python 控制可执行文件的方法是 subprocess 模块。您可以使用不同的参数、捕获标准输出、处理它,或者只是重定向到任意文件。在此处查看文档 https://docs.python.org/3.2/library/subprocess.html#module-subprocess