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