how to flush child_stdin

joelcarrier at gmail.com joelcarrier at gmail.com
Fri Feb 22 20:53:55 CET 2008


On Feb 22, 2:01 pm, Dennis Lee Bieber <wlfr... at ix.netcom.com> wrote:
> On Fri, 22 Feb 2008 08:35:03 -0800 (PST), "joelcarr... at gmail.com"
> <joelcarr... at gmail.com> declaimed the following in comp.lang.python:
>
> > I don't think that is the problem, I'm feeding it newline characters.
>
>         It wasn't shown in your sample, so I jumped on the first likely
> thing...
>
>         The second is in the hands of the subprocess... While you are
> flushing output /to/ the subprocess, is IT flushing its output (the
> stuff you are trying to read). A common problem seems to be that, as
> soon as the process detects a pipe, it goes to buffered I/O, and if the
> buffer isn't filled, the parent has no access...
> --
>         Wulfraed        Dennis Lee Bieber               KD6MOG
>         wlfr... at ix.netcom.com             wulfr... at bestiaria.com
>                 HTTP://wlfraed.home.netcom.com/
>         (Bestiaria Support Staff:               web-a... at bestiaria.com)
>                 HTTP://www.bestiaria.com/

I'm actually running something like : r, w, e = popen2.popen3('python -
u slave.py')
to try and force unbuffered.  slave.py is basically outputting by
using print.
I guess it might still be buffering?
Anyway, thanks for your thoughts... I may have to take an entirely
difference approach.  I was hoping not to have to touch the code base
represented by slave.py.



More information about the Python-list mailing list