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
It should raises an error instead of a warning, it has no sense to read a
partial byte :-) But that should breaks some applications?
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
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com