Bytes/File Size Format Function
half.italian at gmail.com
half.italian at gmail.com
Wed Jun 13 03:48:54 EDT 2007
On Jun 12, 8:47 pm, samuraisam <samuraib... at gmail.com> wrote:
> Quick file size formatting for all those seekers out there...
>
> import math
>
> def filesizeformat(bytes, precision=2):
> """Returns a humanized string for a given amount of bytes"""
> bytes = int(bytes)
> if bytes is 0:
> return '0bytes'
> log = math.floor(math.log(bytes, 1024))
> return "%.*f%s" % (
> precision,
> bytes / math.pow(1024, log),
> ['bytes', 'kb', 'mb', 'gb', 'tb','pb', 'eb', 'zb', 'yb']
> [int(log)]
> )
Wait a sec...what if you send it a large amount of bytes? Say...
bigger than 2147483647. You'll get an OverflowError. I thought you
had my solution...
~Sean
More information about the Python-list
mailing list