Using subprocess.call is the wrong way to do this. In my opinion, subprocess.Popen will be better.
parent.py:
1 import subprocess 2 3 process = subprocess.Popen(['python', './child.py', 'arg1', 'arg2'],\ 4 stdin=subprocess.PIPE, stdout=subprocess.PIPE,\ 5 stderr=subprocess.PIPE) 6 process.wait() 7 print process.stdout.read()
child.py
1 import subprocess 2 import sys 3 4 print sys.argv[1:] 5 6 process = subprocess.Popen(['ls', '-a'], stdout = subprocess.PIPE) 7 8 process.wait() 9 print process.stdout.read()
Outside the program:
python parent.py ['arg1', 'arg2'] . .. chid.py child.py .child.py.swp parent.py .ropeproject
pod2metra
source share