Iterating through 2 files simultaneously

glman74 at gmail.com glman74 at gmail.com
Sun Jul 27 05:51:40 EDT 2008


Hi folks,

I am trying to tee off both stdout and stderr from a process run
through Popen.
As a test, I am first trying to print the output below:

from subprocess import Popen,PIPE
...
p1 = Popen(['cvs', 'update'], stdout=PIPE, stderr=PIPE)
for (l1, l2) in zip(p1.stdout, p1.stderr):
    print '-->' + l1,
    print '-->' + l2,

This doesn't work - probably because I cannot iterate through the
pipes this way.

I am new to Python, and I'd appreciate it if you could please explain
why this
doesn't work and/or suggest an alternate way to redirect stdout and
stderr to a
common place.

My objective is for my code to print out stdout/stderr messages and at
the same
time redirect them to a log file.

Thanks

Mahesh



More information about the Python-list mailing list