2013-04-24 128 views
0

我用的子進程,從視頻設備檢查zbarcam的輸出Python的執行shell命令不會終止

這裏是我的代碼:

>>> import subprocess 
>>> subprocess.check_output(["zbarcam","/dev/video1"]) 

Zbarcam啓動上,我可以檢查的視頻窗口,問題是即使它已經讀取了代碼,它仍然繼續運行,並且在向python shell輸出任何東西之前,我必須手動關閉此窗口。

回答

0

subprocess.check_output調用僅在進程退出時提供輸出。你想要的是當它仍在運行時讀取輸出。

要做到這一點,你可以使用這樣的事情:

import os 

process =os.popen('/usr/bin/zbarcam','r') 
while True: 
    print 'Got barcode:', process.readline()