[Python] Numero to byte
lordkrandel
lordkrandel a gmail.com
Mer 12 Gen 2011 12:32:37 CET
On 12/01/2011 12.25, lordkrandel wrote:
> def f( bytes, factor, labels, precision ):
> for i, label in enumerate(labels,1):
> n = factor ** i
> if (bytes< n) or (label == labels[-1]):
> return ('%.*lf %s') % (precision, bytes * factor / n, label)
>
def f_test():
for x in range(22):
y = 512*(10**x)
print f(y, 1024, ('bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB'), 4)
print ' ', f(y, 1000, ('bytes', 'KB', 'MB', 'GB', 'TB', 'PB' ), 2)
# Funziona anche con secondi, minuti e ore! ^__^ ''
for x in range(5):
y = 35*(10**x)
print '%s s' % y
print ' ', f(y, 60, ('s', 'm', 'h' ), 2)
f_test()
--
Wyrmskull
Maggiori informazioni sulla lista
Python