如何指定 python 模块子进程用于执行命令的目录?我想运行一个 C 程序并在 Python 中近乎实时地处理它的输出。
我想执行命令(这将为我的 C 程序运行我的 makefile:
make run_pci
在:
/home/ecorbett/hello_world_pthread
我还想用 Python 处理 C 程序的输出。我是 Python 新手,因此将不胜感激示例代码!
谢谢,爱德华
如何指定 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
阅读文档。您可以使用cwd
参数指定它,否则它使用父进程的当前目录(即运行子进程的脚本)。