我知道類似的問題發佈在這裏,但我無法讓我的代碼工作。 我想管一個python程序輸出到其他的輸入。正在等待輸入一個人的raw_input( '>')管道兩個python程序
我試圖運行的代碼是:
import subprocess
gen = subprocess.Popen(['python', 'first.py'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
start = subprocess.Popen(['python','second.py'], stdin=gen.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
start.communicate()
first.py:
try:
while(1):
print gen()
time.sleep(1)
except KeyboardInterrupt:
sys.exit(1)
輸出沒有按」 t生產任何東西
任何建議?
這解釋了行爲http://bugs.python.org/issue1191964 我想改變我的fist.py程序只返回一個單一的值和second.py來每次調用它。 它可以完成與suboricess? – gizmo 2012-07-15 10:11:20
我做了一個黑客,它給出了正確的輸入,但不知道這是否是一個好方法來解決問題 http://pastebin.com/PwUtNpxa 和t3.py: http://pastebin.com/K3JdYa13 – gizmo 2012-07-15 17:01:51
我做了一個黑客,它給出了正確的輸入,但不知道這是否是一個好方法來解決問題 http://pastebin.com/PwUtNpxa 和t3.py: http://pastebin.com/K3JdYa13 唯一的問題是,它的輸出一個額外>> – gizmo 2012-07-15 17:15:41