【发布时间】:2015-05-28 02:54:51
【问题描述】:
我有一个从外部传感器读取的脚本(并且永远运行),当我以./zwmeter /dev/ttyUSB0 300 运行它时,它会正常运行并将输出连续打印到标准输出。我在 Ubuntu 上使用 bash。我想将此命令作为 python 脚本的一部分执行。我试过了:
from subprocess import Popen, PIPE
proc = Popen(['./zwmeter', '/dev/ttyUSB0', '300'], stderr=PIPE, stdout=PIPE)
print proc.communicate()
但是我得到了一个永远运行而不产生任何输出的程序。我不关心标准错误,只关心标准输出,并尝试拆分打印但仍然没有成功。
感谢您提供的任何帮助!
【问题讨论】:
-
你的命令
./zwmeter /dev/ttyUSB0 300会永远运行吗?喜欢top命令? -
排序,它永远不会终止,只是不断将文本行附加到标准输出
-
我希望这个链接可以帮助bytes.com/topic/python/answers/…
-
谢谢,这很有帮助,但我实际上希望它永远运行并能够在那段时间与之通信。我找到了一个很好的解决方案并将链接发布为答案。
标签: python bash subprocess