How do i get output from pope3 while process is running?
Andrew Patterson
andrew at fc.hp.com
Mon Dec 6 13:05:40 EST 1999
Li Dongfeng wrote:
>
> Try the patch(I think you can't do readlines() more than once):
>
Which patch is that?
Andrew
> Andrew Patterson wrote:
> >
> > I want to run an extremely long running external command and send its output
> >
> > to stdout of my python program. I started with os.system which works fine
> >
> > except that I needed to capture the stderr output in a separate stream. The
> >
> > popen2.Popen3 class seems to fit the bill, however, I can not get any of the
> >
> > output until the process finishes (hours later). Here is the code I am using:
> >
> > ################################ run_proc() #################################
> > def run_proc(cmd, capturestdout=0, capturestderr=0, printstdout=0):
> > """Run an external command and capture stderr, stdout, and exit code."""
> >
> > proc = popen2.Popen3(cmd, capturestderr)
> > stdoutlist = []
> > stderrlist = []
> > if capturestdout:
> outls=proc.fromchild.readlines()
> > for line in outls:
> > if printstdout:
> > print "\n********* Got Here ************"
> > sys.stdout.write(line)
> > stdoutlist.append(line)
> > if capturestderr:
> > stderrlist = proc.childerr.readlines()
> > exit_code = proc.wait()
> > return (exit_code, stdoutlist, stderrlist)
> >
> > I get the "Got here" lines after the process finishes. I am running python 1.5.2
> >
> > on an HP-UX 11.0 system with native pthreads compiled in.
> >
> > Can someone please tell me what I am doing wrong. Thanks
> >
> > Andrew
> > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> > Andrew Patterson Voice: (970) 898-3261
> > Hewlett-Packard Company/DSL FAX: (970) 898-2180
> > 3404 East Harmony Road / MS 7 email: andrew at fc.hp.com
> > Fort Collins, Colorado 80525
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Andrew Patterson Voice: (970) 898-3261
Hewlett-Packard Company/DSL FAX: (970) 898-2180
3404 East Harmony Road / MS 7 email: andrew at fc.hp.com
Fort Collins, Colorado 80525
More information about the Python-list
mailing list