2012-07-09 88 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()