首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定期获取Python中bash命令的输出

定期获取Python中bash命令的输出
EN

Stack Overflow用户
提问于 2015-06-19 12:08:41
回答 1查看 91关注 0票数 1

我正在用python为bash命令编写一个gui包装器。运行bash命令时,前3-4行是常量,最后一行被覆盖,以文本格式显示进度。我想把这个进度转换成一个进度条,变成一个基于python的gui。

如何定期获取bash命令的执行进度?所有其他类似的答案都会检索前几个恒定的行,但它们无法获取周期性变化的最后一行。

EN

回答 1

Stack Overflow用户

发布于 2015-06-19 14:42:11

如果您正在使用process.stdout.readline()读取输入,那么在将整行输出输出到标准输出之前,它不会获取进度。相反,您可以通过逐个字符流式传输来读取stdout,如下所示

代码语言:javascript
复制
import subprocess
import sys
process = subprocess.Popen("ls", stdout=subprocess.PIPE)
for c in iter(lambda: process.stdout.read(1), ''):
    sys.stdout.write(c)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30929746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档