【问题标题】:subprocess.Popen not printing/running properly [duplicate]subprocess.Popen 无法正确打印/运行 [重复]
【发布时间】: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


【解决方案1】:

我认为问题与我调用的进程未终止有关。我在这个网站上找到了一个很好的解决方法: http://eyalarubas.com/python-subproc-nonblock.html

猜你喜欢
  • 2021-08-19
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多