如何指定python模块子进程使用哪个目录来执行命令?我想运行一个 C 程序并在 Python 中近乎实时地处理它的输出。
我想执行命令(这会运行我的 C 程序的 makefile:
make run_pci
在:
/home/ecorbett/hello_world_pthread
我还想在Python中处理C程序的输出。我是 Python 新手,所以示例代码将不胜感激!
谢谢, 爱德华
最佳答案
将 cwd
参数用于 Popen
、call
、check_call
或 check_output
。例如
subprocess.check_output(["make", "run_pci"],
cwd="/home/ecorbett/hello_world_pthread")
编辑:好的,现在我明白你所说的“近实时”是什么意思了。尝试一下
p = subprocess.Popen(["make", "run_pci"],
stdout=subprocess.PIPE,
cwd="/home/ecorbett/hello_world_pthread")
for ln in p.stdout:
# do processing
关于Python子进程模块使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11419643/