我有一个运行时间很长的进程,我想从 Python 程序中调用它。此过程向标准输出输出大量信息。我想在命令行上看到我调用的程序运行时的输出。我读过有关 Popen 的内容,并尝试过
p = Popen(cmd, stdout=PIPE, stderr=PIPE)
stdout, stderr = p.communicate()
以及它的变体,但是直到 cmd 运行完毕后才会显示 cmd 的输出。
如何在 cmd 运行时查看 cmd 的输出?
最佳答案
我通过使用评论中提到的部分内容来解决这个问题,并将其与以下内容结合起来
# read line without blocking
while not p.poll():
try:
line = q.get_nowait() # or q.get(timeout=.1)
except Empty:
pass # Do nothing
else: # got line
print line
关于python - 查看从 Python 调用的长时间运行的外部进程的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7478895/