code: def str_filesize(size):
      
      import bisect
      
      d = [(1024-1,'K'), (1024**2-1,'M'), (1024**3-1,'G'), (1024**4-1,'T')]
      s = [x[0] for x in d]
      
      index = bisect.bisect_left(s, size) - 1
      if index == -1:
          return str(size)
      else:
          b, u = d[index]
      return str(size / (b+1)) + u
docs: >>> print str_filesize(0)
      0
      >>> print str_filesize(1023) 
      1023
      >>> print str_filesize(1024)
      1K
      >>> print str_filesize(1024*2)
      2K
      >>> print str_filesize(1024**2-1)
      1023K
      >>> print str_filesize(1024**2)
      1M