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/