In message <[EMAIL PROTECTED]>, [EMAIL PROTECTED] wrote: > 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()
That's because you didn't tell it how much to read, so by default it tries to read until EOF <http://docs.python.org/lib/bltin-file-objects.html>. But since the subprocess is still running and hasn't closed its stdout, the pipe has not reached EOF. -- http://mail.python.org/mailman/listinfo/python-list