On Mon, Jul 21, 2008 at 10:37 PM, Cameron Simpson <[EMAIL PROTECTED]> wrote:
> Leaving aside the 0.2 => 0 converstion, shouldn't read() raise an
> exception if asked for < 1 bytes? Or is there a legitimate use for read(0)
> with which I was not previously aware?

Indeed. read(0) is quite often generated as an edge case when one is
computing buffer sizes, and returning an empty string is most
definitely the right thing to do here (otherwise some application code
becomes more complex by having to avoid calling read(0) at all).

Of course, read(), read(None), read(-1) and read(<any negative int>)
should all read all data until EOF.

On the main topic here, read(<float>) and read(<anything that supports
__int__ but not __index__>) should definitely raise an exception in
3.0. In 2.6 it should show a warning as it does in 2.5.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to