1st.py
REPL (read-eval-print-loop) を作成するという名前のスクリプトがあります。
print "Something to print"
while True:
r = raw_input()
if r == 'n':
print "exiting"
break
else:
print "continuing"
1st.py
次に、次のコードで起動しました。
p = subprocess.Popen(["python","1st.py"], stdin=PIPE, stdout=PIPE)
そして、これを試しました:
print p.communicate()[0]
失敗し、次のトレースバックが提供されました。
Traceback (most recent call last):
File "1st.py", line 3, in <module>
r = raw_input()
EOFError: EOF when reading a line
ここで何が起こっているのか説明してもらえますか? を使用するp.stdout.read()
と、永久にハングします。