11

私はサブプロセスが初めてです。

parent.pychild.pyの間の communicate() の本当に単純な win32 の例が必要です。parent.py から child.py に送信され、child.py によって変更され、parent.py から print() のために parent.py に送り返される文字列。

私が見つけた例がwin32ではないか、単に私を混乱させる子を使用していないため、これを投稿しています。

助けてくれてありがとう。

4

1 に答える 1

21

これは、要件に応じた簡単な例です。この例は Python 3.x です (2.x の場合は若干の変更が必要です)。

親.py

import subprocess
import sys

s = "test"
p = subprocess.Popen([sys.executable, "child.py"],
                     stdin=subprocess.PIPE,
                     stdout=subprocess.PIPE)
out, _ = p.communicate(s.encode())
print(out.decode())

child.py

s = input()
s = s.upper()
print(s)

これを書いて Mac OS X でテストしました。ここにはプラットフォーム固有のコードはありません。そのため、Win32 でも動作しない理由はありません。

于 2011-12-28T06:51:15.680 に答える