How can I know how much to read from a subprocess

spam.noam at gmail.com spam.noam at gmail.com
Tue Sep 18 11:49:45 EDT 2007


On Sep 18, 1:48 pm, "A.T.Hofkamp" <h... at se-162.se.wtb.tue.nl> wrote:
> On 2007-09-17, spam.n... at gmail.com <spam.n... at gmail.com> wrote:
>
> > It seems that another solution is gobject.io_add_watch, but I don't
> > see how it tells me how much I can read from the file - if I don't
> > know that, I won't know the argument to give to the read() method in
> > order to get all the data:
>
> >http://www.pygtk.org/docs/pygobject/gobject-functions.html#function-g...
>
> Usually, gobject only tells you that data is there (that is all it knows).
> Therefore a read(1) should be safe.

But even if it's fast enough, how do you know how many times you
should call read(1)? If you do it too much, you'll be blocked until
more output is available.

> If that is too slow, consider os.read() which reads all data available (afaik,
> never tried it myself).
>
I tried it now, and it blocks just like the normal file.read().

Thanks,
Noam




More information about the Python-list mailing list