Python3子进程通信示例

时间:2011-12-28 06:46:12

标签: python subprocess pipe communicate

我不熟悉子处理。

我只需要在 parent.py child.py 之间使用一个非常简单的win32示例communication()。从parent.py发送到child.py的字符串,由child.py更改,并从parent.py发送回parent.py以获取print()。

我发布这个是因为我发现的例子最终要么不是win32,要么不使用让我困惑的孩子。

谢谢你的帮助。

1 个答案:

答案 0 :(得分:18)

根据您的要求,这是一个简单的示例。这个例子是Python 3.x(2.x需要稍作修改。)

parent.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上运行。