non blocking read()
donn at u.washington.edu
Wed Dec 1 21:47:57 CET 2004
In article <col35h$cmf$1 at news2.rz.uni-karlsruhe.de>,
Uwe Mayer <merkosh at hadiko.de> wrote:
> I use select() to wait for a file object (stdin) to become readable. In that
> situation I wanted to read everything available from stdin and return to
> the select statement to wait for more.
> However, the file object's read method blocks if the number of bytes is 0 or
> Is there no way to read everything a channel's got currently got without
Yes, there is a way - os.read() (also known as posix.read())
It's better not to mix buffered I/O (like file object
I/O functions) with select() at all, because select()
actually applies to system level file descriptors and
doesn't know anything about the buffer.
Get the file descriptor with fileno(), and never refer
to the file object again after that.
Donn Cave, donn at u.washington.edu
More information about the Python-list