Python子流程(输出PIPE)

时间:2012-07-09 05:04:13

标签: python subprocess

如何在不使用process.communicate()的情况下多次从输出PIPE读取,因为通信在读取输出后关闭PIPE但我需要顺序输入和输出。

例如,

1)process.stdin.write('input_1')

2)之后,我需要读取输出PIPE(如何在不关闭PIPE时使用通信的情况下完成该输出,然后再输入另一个输入

3)process.stdin.write('input_2')

4)然后阅读第3步的输出

但如果我在给出第一个输入后使用process.communicate,那么它会关闭输出PIPE,并且在PIPE关闭时我无法给出第二个输入。

请帮忙。

2 个答案:

答案 0 :(得分:1)

flush() stdin,然后是read() stdout。

答案 1 :(得分:0)

而不是process.communicate(),请使用process.stdout.read()