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.
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