2016-06-09 114 views
0

我正在使用subprocess.poll读取标准输出和错误的状态。subprossess.poll在执行完成之前终止

while subprocess.poll() is None : 
    out = subprocess.stdout.readline() 
     print out 

过程在作业执行完成之前出现循环。我如何等待工作完成?

回答

0

在读完所有可用输出之前,程序完全可能已经完成。 poll()返回None虽然程序没有完成,但是如果您需要读取其所有输出,即使在poll()返回退出代码后,您也可能需要继续。

它看起来像你正在寻找subprocess.communicate()而不是。

+0

Hello Tripleee,我想从cmd逐行读取数据以确保某些进程被调用。 subprocess.communicate在最后提供数据。有没有其他的方式来读取数据? – cripki

+0

听起来像你正在寻找http://stackoverflow.com/questions/1822237/asynchronously-read-stdout-from-subprocess-popen – tripleee

相关问题