[Python-de] Tausenderpunkt

Diez B. Roggisch deets at web.de
Don Dez 2 12:26:02 CET 2004


> def fquant(val, prec=2):
>     """ format data quantities in human readable form """
>     for l, q in (( "TB", 1024L * 1024L * 1024L * 1024L ),
>                  ( "GB", 1024L * 1024L * 1024L ),
>                  ( "MB", 1024L * 1024L ),
>                  ( "KB", 1024L ),
>                  ( "B",  1L )):
>         if val >= q:
>             break
>     v = float(val)/q
>     fs = "%%.%02df %%s" % prec
>     return (fs % (v, l))

[(b, 1024L**e) for e, b in enumerate(['B', 'KB', 'MB', 'GB', 'TB'])][::-1]

liefert dir die liste der grössentupel etwas kondensierter.

Diez