[Python-Dev] Passing floats to file.seek

Fredrik Lundh fredrik at pythonware.com
Sun Nov 12 12:09:49 CET 2006

Martin v. Löwis wrote:

> Patch #1067760 deals with passing of float values to file.seek;
> the original version tries to fix the current implementation
> by converting floats to long long, rather than plain C long
> (thus supporting files larger than 2GiB).
> I propose a different approach: passing floats to seek should
> be an error. My version of the patch uses the index API, this
> will automatically give an error.
> Two questions:
> a) should floats be supported as parameters to file.seek

I don't really see why.

> b) if not, should Python 2.6 just deprecate such usage,
>    or outright reject it?

Python 2.5 silently accepts (and truncates) a float that's within range, 
so a warning sounds like the right thing to do for 2.6.  note that read 
already produces such a warning:

 >>> f = open("hello.txt")
 >>> f.seek(1.5)
 >>> f.read(1.5)
__main__:1: DeprecationWarning: integer argument expected, got float


More information about the Python-Dev mailing list