2016-06-09 111 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

相關問題