2

如何指定 python 模块子进程用于执行命令的目录?我想运行一个 C 程序并在 Python 中近乎实时地处理它的输出。

我想执行命令(这将为我的 C 程序运行我的 makefile:

make run_pci

在:

/home/ecorbett/hello_world_pthread

我还想用 Python 处理 C 程序的输出。我是 Python 新手,因此将不胜感激示例代码!

谢谢,爱德华

4

2 回答 2

3

使用、或的cwd参数。例如Popencallcheck_callcheck_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
于 2012-07-10T18:38:03.590 回答
0

阅读文档。您可以使用cwd参数指定它,否则它使用父进程的当前目录(即运行子进程的脚本)。

于 2012-07-10T18:39:27.847 回答