python - 如何在程序运行时读取python中的输出
问题描述
我想听一个用 AutoIT 编写的程序的输出。我开始程序:
p = Popen(shlex.split(args),stdout=PIPE, stdin=PIPE, bufsize=1)
有用。在某处我读到我应该使用 -u 来绕过缓冲,但我不能在 AutoIT 程序中使用它。问题是,虽然它在早期将给定的文本写入标准输出,但我似乎听不到它。我必须停止程序,然后下面给我输出。
while p.poll() is None:
p.stdout.flush()
txt = p.stdout.read().decode('utf-8')
if txt == 'Given text':
break
如何在生成时而不是在程序停止后获取输出?
解决方案
推荐阅读
- sql - 如何在 PostgreSQL 字符串中的单引号后添加分号?
- javascript - 在变量中获取http请求的响应
- azure-devops - 如何为每个部署代理设置发布变量范围
- swift - 如何在 macOS 钥匙串中存储对称加密密钥?
- python - 如何优化使用大量插值的python中的慢双积分?也许使用 Numba?
- azure - Azure Lucene 模糊搜索
- algorithm - Kotlin 地图值转换 - 计算列表内的总和并返回地图
- android - 如何打开用户在android中的活动
- javascript - `super()` 是否应该为函数返回 `this`?
- c - C - 如何将数字移动到矩阵中的不同位置