Python3子进程通信示例

问题描述 投票:0回答:1

我是子处理新手。

我只需要一个在 parent.pychild.py 之间进行通信()的非常简单的 win32 示例。从parent.py发送到child.py的字符串,由child.py更改并从parent.py发送回parent.py以进行print()。

我发布此内容是因为我发现的示例最终要么不是 win32,要么不使用子项,这让我很困惑。

python subprocess pipe
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 上工作。

© www.soinside.com 2019 - 2024. All rights reserved.