if i did
n = int(n)
that would change the API to allow bytes/unicode to be passed in which
is not something i want. i don't even like that it allows floats.
by not doing the int conversion at all, a DeprecationWarning is raised
by the read() about the argument being a float which I figure it not a
bad thing given that the API really should only accept ints...
fwiw, daniel's patch would still cause this deprecation warning from
read so I guess using while len(bs) < int(n): isn't that bad either.
but it would allow a string such as '0' to be passed in as an argument
without an exception...