non blocking read()
Jp Calderone
exarkun at divmod.com
Wed Dec 1 15:06:29 EST 2004
On Wed, 01 Dec 2004 19:39:45 +0100, Uwe Mayer <merkosh at hadiko.de> wrote:
>Hi,
>
> 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
> negative.
>
> Is there no way to read everything a channel's got currently got without
> blocking?
def nonBlockingReadAll(fileObj):
bytes = []
while True:
b = fileObj.read(1024)
bytes.append(b)
if len(b) < 1024:
break
return ''.join(bytes)
Jp
More information about the Python-list
mailing list