2011/12/13 Giampaolo Rodolà <g.rod...@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™ _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python