def bytes2human(n):
 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 ('%.2f %s' % (value, s))
 return ('%.2f B' % n)

def bytes2human ( n ) : 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 ( '%.2f %s' % ( value , s ) ) return ( '%.2f B' % n )
translates bytes into a human repr .