2013-04-24 5 views
0

Я использую подпроцесс проверить вывод zbarcam из видеоустройстваPython выполнения команд оболочки не прекращает

Вот мой код:

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

Zbarcam инициирует окно, на котором я могу проверить видео, проблема в том, что он продолжает работать, даже если он прочитал код, и мне нужно вручную закрыть это окно, прежде чем оно выведет что-либо в оболочку python.

ответ

0

Звонок subprocess.check_output дает вам выход только после выхода процесса. Вы хотите прочитать вывод, пока он все еще работает.

Для этого вы можете использовать что-то вроде этого:

import os 

process =os.popen('/usr/bin/zbarcam','r') 
while True: 
    print 'Got barcode:', process.readline() 
Смежные вопросы