Вот простой пример в соответствии с вашими требованиями. Этот пример - 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.