On Sun, 29 May 2011 00:01:56 +0800, TheSaint wrote:

> I'm looking into subprocess.Popen docs. I've launch the program with its
> arguments and that's smooth. I'm expecting to read the output by
> *comunicate()* at every line that prgram may blow during the process, but
> the output is given only when the child process is ended.

.communicate() reads until EOF, .wait()s for the process to terminate,
then returns the output as a pair of strings.

If you want to read data while the process is running, use the process'
.stdout and/or .stderr members, e.g.:

        p = subprocess.Popen(...)
        for line in p.stdout:
            ...
        p.wait()

Don't forget to .wait() on the process when you're done, regardless of
whether you actually need the exit code.

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to