gpt4 book ai didi

python - 使用命令行参数从 Python 运行 C 可执行文件

转载 作者:行者123 更新时间:2023-12-04 23:19:17 26 4
gpt4 key购买 nike

我有一个 C 文件说,myfile.c .
现在编译我正在做的:gcc myfile.c -o myfile所以现在要运行这个我需要做:./myfile inputFileName > outputFileName在哪里 inputFileNameoutputFileName是 2 个命令行输入。
现在我正在尝试在 python 程序中执行此操作,并且正在尝试以下方法,但它无法正常工作可能是由于 >

import subprocess
import sys

inputFileName = sys.argv[1];
outputFileName = sys.argv[2];

subprocess.run(['/home/dev/Desktop/myfile', inputFileName, outputFileName])
在哪里 /home/dev/Desktop是我的目录的名称和 myfile是可执行文件的名称。
我应该怎么办?

最佳答案

>您在命令中使用的是 output redirection 的特定于 shell 的语法。 .如果你想通过 Python 做同样的事情,你必须调用 shell 来为你做这件事,shell=True并使用单个命令行(不是列表)。
像这样:

subprocess.run(f'/home/dev/Desktop/myfile "{inputFileName}" > "{outputFileName}"', shell=True)
如果您只想通过 Python 执行此操作而不调用 shell(这是 shell=True 所做的),请查看其他问答: How to redirect output with subprocess in Python?

关于python - 使用命令行参数从 Python 运行 C 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70024179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com