【发布时间】:2017-01-22 18:07:26
【问题描述】:
我有一个这样的 python 模块:
from subprocess import *
cmdline = 'python example.py'
result = Popen(cmdline,shell=False,stdout=PIPE,stderr=PIPE,stdin=PIPE).stdout
我希望父进程阻塞,直到子进程完成执行并且父进程可以接收到子进程的输出。上面的代码能满足我的目的吗?在我的理解中,子进程会将其输出发送到 PIPE 而不是 STDOUT,并且父进程会阻塞,直到子进程退出并且 PIPE 关闭。谁能解释我在哪里被误解了?
另外一个是要么communicate,要么check_output返回一个字节串,但是我想逐行处理结果,有没有好的办法呢?
【问题讨论】:
标签: python subprocess multiprocessing