Pythonese def human_from_bytes(bytes, factor=1024., labels=['B', 'KiB', 'MiB', 'GiB',\ 'TiB', 'PiB'], precision=2): index = 0 while 1. * bytes / factor**index > factor and index < len(labels)-1: index += 1 return ('%.*lf %s') % (precision, 1.*bytes/factor**index, labels[index]) -- Andrea