首页 文章

Python3子进程通信示例

提问于
浏览
8

我是子处理的新手 .

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

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

谢谢你的帮助 .

1 回答

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

相关问题