Python执行shell命令时不使用';不要终止

Python执行shell命令时不使用';不要终止,python,Python,我正在使用子进程检查视频设备的zbarcam输出 这是我的密码: >>> import subprocess >>> subprocess.check_output(["zbarcam","/dev/video1"]) Zbarcam启动了一个窗口,我可以在上面检查视频,问题是即使它已经读取了代码,它也会继续运行,我必须在它向python shell输出任何内容之前手动关闭此窗口。子进程。check_output调用仅在进程退出时才提供输出。您想要的是在输出

我正在使用子进程检查视频设备的zbarcam输出

这是我的密码:

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

Zbarcam启动了一个窗口,我可以在上面检查视频,问题是即使它已经读取了代码,它也会继续运行,我必须在它向python shell输出任何内容之前手动关闭此窗口。

子进程。check_output调用仅在进程退出时才提供输出。您想要的是在输出仍在运行时读取输出

为此,您可以使用以下方法:

import os

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

这是完全正常的。只有在命令完成后才能获得输出

请看这里:

对于异步运行命令的解决方案