[Python] Python e DAS/NAS/SAN
Carlo Miron
miron a python.it
Mar 13 Dic 2011 18:11:37 CET
2011/12/13 Giampaolo Rodolą <g.rodola a gmail.com>:
> Come extra, per avere risultati leggibili, puoi usare questo:
>
> def bytes2human(n):
> """
> >>> bytes2human(10000)
> '9.8K'
> >>> bytes2human(100001221)
> '95.4M'
> """
> symbols = ('K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y')
> prefix = {}
> for i, s in enumerate(symbols):
> prefix[s] = 1 << (i+1)*10
> for s in reversed(symbols):
> if n >= prefix[s]:
> value = float(n) / prefix[s]
> return '%.1f%s' % (value, s)
> return "0B"
C'e` un IndentationError nell'ultima riga :P
Inoltre i simboli corretti dovrebbero essere ('KiB', 'MiB', 'GiB',
'TiB', 'PiB', 'EiB', 'ZiB', 'YiB').
Infine, restituisce sempre "0B" per ogni valore di n < 1024.
Cheese,
©
--
Carlo Miron
Precisino Rompiballe Solution Architect™
Maggiori informazioni sulla lista
Python