2012-07-09 85 views
2

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

例如,

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

2)在此之后,我需要读取输出PIPE(我怎样才能实现这一点,而无需使用通信作为它关闭PIPE),然后给另一输入作为

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

4),然后读出步骤的输出3

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

请帮助。

回答

1

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

0

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