python - 您可以只与子流程通信一次吗?

标签 python subprocess

communicate的文档说:

Interact with process: Send data to stdin. Read data from stdout and stderr, until end-of-file is reached. Wait for process to terminate.

如果您需要多次向进程发送输入,您会怎么做?例如,我生成一个进程,向它发送一些数据,该进程对此执行某些操作,返回一些输出,然后我必须再次发送输入?我该如何处理?

最佳答案

那你就不能使用.communicate()了。您可以轮询流,使用 select 或其他一些允许您收听 FD 更改的方式(例如,gtk 和 Qt 都有相应的工具)。

关于python - 您可以只与子流程通信一次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1676340/

相关文章:

python - 如何使用 subprocess.Popen 更新目录以在 Python 中查找新文件

subprocess - LWT 与子流程的简单交互

python - Django "get"方法不起作用

python - 使用特定列填充 Bokeh 中的工具提示

python - 模块未找到错误 : No module named 'google_auth_oauthlib'

python - cgi.FieldStorage 不从 requests.post 读取 json 数据

python - 等待第一个子进程完成

python - 以不同方式初始化参数给我相同的属性错误

来自 : subprocess has no 'run' attribute 源的 Python

Python:读取子进程的标准输出而不打印到文件