subprocess -popen - reading stdout from child - hangs

gregpinero at gmail.com gregpinero at gmail.com
Sat Sep 22 23:28:49 EDT 2007


Let's say I have this Python file called loop.py:

import sys
print 'hi'
sys.stdout.flush()
while 1:
    pass

And I want to call it from another Python process and read the value
'hi'.  How would I do it?

So far I have tried this:

>>> proc = subprocess.Popen('python /home/chiefinnovator/loop.py',shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)
>>> proc.stdout.read()

But it just hangs at read()

proc.communicate() also just hangs.  What am I doing wrong?  Please
advise.

Thanks,

Greg




More information about the Python-list mailing list