On Mon, Jul 21, 2008 at 2:17 PM, Victor Stinner <
[EMAIL PROTECTED]> wrote:

> Hi,
>
> Since Python 2.4 (maybe 2.2 or older), fileobj.read(4.2) displays an error
> and
> works as fileobj.read(4).
>
> >>> i=open('/etc/issue')
> >>> i.read(4.2)
> __main__:1: DeprecationWarning: integer argument expected, got float


This warning is actually given by the argument parser when "i" gets a Python
non-integer.

>
>
> It should raises an error instead of a warning, it has no sense to read a
> partial byte :-) But that should breaks some applications?


This doesn't come into effect until 3.0.

>
>
> Well, the real problem is os.urandom(4.2) which goes to an unlimited loop:
>
>  while len(bytes) < n:
>      bytes += read(_urandomfd, n - len(bytes))
>
> because read(0.2) works as read(0) :-/
>
> Victor
> _______________________________________________
> 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/musiccomposition%40gmail.com
>



-- 
Cheers,
Benjamin Peterson
"There's no place like 127.0.0.1."
_______________________________________________
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