python - 在 python 程序中运行 C 可执行文件

标签 python python-3.x subprocess executable

我编写了一个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/

相关文章:

python - 将外部 mysql 数据库连接到 django 应用程序并对其进行查询

Python:使用函数参数持久内存函数的策略?

python - 为什么 "1000000000000000 in range(1000000000000001)"在 Python 3 中如此之快?

python - 为什么我收到 Typeerror : 'int' object not iterable

windows - 一起使用 gevent 和 multiprocessing 与子进程通信

python - Pivot_table 到列的多重索引

python - 如何推荐在 Python 中使用自定义双下划线变量?

python-3.x - xlsxwriter - 基于数据框列名的条件格式

python - 无法在子进程命令中使用 grep

python - 使用 python subprocess.popen ..无法阻止 exe 停止工作提示