gpt4 book ai didi

python - 使用 Python 强制另一个程序的标准输出不被缓冲

转载 作者:IT王子 更新时间:2023-10-29 00:27:08 24 4
gpt4 key购买 nike

Python 脚本控制 Linux 上的外部应用程序,通过管道将输入传递到外部应用程序标准输入,并通过管道从外部应用程序标准输出读取输出。

问题是写入管道是按 block 缓冲的,而不是按行缓冲的,因此在控制脚本接收数据输出之前会发生延迟,例如,外部应用程序中的 printf。

无法更改外部应用程序以添加显式 fflush(0) 调用。

如何pty python 标准库的模块与 subprocess 一起使用实现这个的模块?

最佳答案

您可以使用 PTY 来解决此问题:

  • 创建 pty 主/从对;
  • 将子进程的stdin、stdout和stderr连接到pty从设备;
  • 读取和写入父级中的 pty master。

关于python - 使用 Python 强制另一个程序的标准输出不被缓冲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1544050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com