[Python-Dev] fileobj.read(float): warning or error? (original) (raw)

Guido van Rossum guido at python.org
Wed Jul 30 02:11:56 CEST 2008


On Mon, Jul 21, 2008 at 10:37 PM, Cameron Simpson <cs at zip.com.au> 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() should all read all data until EOF.

On the main topic here, read() and read() 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/)



More information about the Python-Dev mailing list