subprossess.poll在执行完成之前终止
问题描述:
我正在使用subprocess.poll读取标准输出和错误的状态。subprossess.poll在执行完成之前终止
while subprocess.poll() is None :
out = subprocess.stdout.readline()
print out
过程在作业执行完成之前出现循环。我如何等待工作完成?
答
在读完所有可用输出之前,程序完全可能已经完成。 poll()
返回None
虽然程序没有完成,但是如果您需要读取其所有输出,即使在poll()
返回退出代码后,您也可能需要继续。
它看起来像你正在寻找subprocess.communicate()
而不是。
Hello Tripleee,我想从cmd逐行读取数据以确保某些进程被调用。 subprocess.communicate在最后提供数据。有没有其他的方式来读取数据? – cripki
听起来像你正在寻找http://stackoverflow.com/questions/1822237/asynchronously-read-stdout-from-subprocess-popen – tripleee