我编写了一个C 代码
,其中我已将一种文件格式转换为另一种文件格式。为了运行我的 C 代码
,我采用了一个命令行参数:filestem
。
我使用以下命令执行该代码:./executable_file filestem > outputfile
我在输出文件
中获得了所需的输出
现在我想获取该可执行文件并在 python 代码中运行。
我正在尝试:
import subprocess
import sys
filestem = sys.argv[1];
subprocess.run(['/home/dev/executable_file', filestem , 'outputfile'])
但无法创建输出文件
。我认为应该添加一些东西来解决 >
问题。但无法弄清楚。请帮忙。
最佳答案
subprocess.run
有可选的 stdout
参数,您可以给它文件句柄,所以在您的情况下类似
import subprocess
import sys
filestem = sys.argv[1]
with open('outputfile','wb') as f:
subprocess.run(['/home/dev/executable_file', filestem],stdout=f)
应该可以工作。我没有能力测试它,所以请运行它并编写它是否按预期工作
关于python - 在 python 程序中运行 C 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70260430/