gpt4 book ai didi

python - 实时读取/写入子进程标准输入/标准输出

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:05 25 4
gpt4 key购买 nike

我想为另一个命令行程序制作一个 Python 包装器。

我想尽快读取Python的stdin,过滤翻译,然后及时写入子程序的stdin

与此同时,我想尽快从子程序的 stdout 中读取数据,并在稍加修改后立即将其写入 Python 的 stdout .

Python 子进程模块中充满了使用 communicate() 来避免死锁的警告。但是,在子程序终止之前,communicate() 不允许我访问子程序的 stdout

最佳答案

我认为您可以(小心地)忽略使用 Popen.stdin 等的警告。只需确保逐行处理流并按公平的时间表迭代它们,以免填满任何缓冲区。在 Python 中执行此操作的一种相对简单(且效率低下)的方法是为三个流使用单独的线程。 Popen.communicate 在内部就是这样做的。查看其源代码以了解操作方法。

关于python - 实时读取/写入子进程标准输入/标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26413572/

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