Bytes/File Size Format Function

half.italian at gmail.com half.italian at gmail.com
Wed Jun 13 06:17:36 CEST 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)]
>     )

Life is odd.  I just came to the group with the specific purpose of
asking this exact question.  Who are you? :)

Thanks!

~Sean




More information about the Python-list mailing list