私はthis答えからコードを実行しようとしています。便宜上、コードは以下のとおりです。このコードは他の誰かのために機能しますが、私はなぜ機能しませんか?
main.py
from subprocess import Popen, PIPE
p = Popen(['py', 'client.py'], stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
r = True
while r:
r = p.stdout.readline()
print r
client.py
def fn():
for a in (0, 1, 2):
print a
fn()
OUTP:答えは貢献した人はそれが彼らのために働くと述べ
b'0\r\n'
b'1\r\n'
b'2\r\n'
b''
。しかし、私は出力を生成することはできません。私は、Mac、Linux、およびWindowsのpython 2.7でこれを試みました。
これがうまくいく場合は、なぜそれが私にとってうまくいかないのか説明してください。私がやっているのは、両方のファイルがあるディレクトリにpython main.py
です。
EDIT:「OUT:」は私が得るはずのものです。しかし、私は何も得られません。
コードが期待される出力と一致しないこと。あなたが得た答えの編集履歴を見ると、コードは毎回テストすることなく繰り返し変更されているようです。 – user2357112
コードを実行しても出力が得られません。上記は「提供されたソリューション」の最新バージョンです。 OUT:彼が得るもの/私が得るべきもの。 – BadProgrammer
最後に、r.returncodeを印刷して、サブプロセスが正常に完了しましたか? – James