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