# Bugfix, non ritornava per quelli sopra i 1024 PiB def f( bytes, factor=1024, labels=['', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi'], precision=4 ): for x,y in map( lambda x: ( factor**(x[0]+1), ('%.' + str(precision) + 'lf %sB') % (bytes / factor**x[0], x[1]) ), enumerate(labels) ): if (bytes < x): return y # รจ un po' bruttino return ('%.' + str(precision) + 'lf %sB') % (bytes / factor**len(labels), labels[-1])
# Test for x in range(16): y = 512.12*(10**x) print f(y) -- Wyrmskull _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python