Python3 subprocess communicate example

↘锁芯ラ 提交于 2019-11-27 16:29:50

问题


I'm new to subprocessing.

I just need a really simple win32 example of communicate() between a parent.py and child.py. A string sent from parent.py to child.py, altered by child.py and sent back to parent.py for print() from parent.py.

I'm posting this because examples I have found end up either not being win32 or not using a child which just confuses me.

Thanks for you help.


回答1:


Here is a simple example as per your requirements. This example is Python 3.x (slight modifications are required for 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)

I wrote and tested this on Mac OS X. There is no platform-specific code here, so there is no reason why it won't work on Win32 also.



来源:https://stackoverflow.com/questions/8652767/python3-subprocess-communicate-example

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!