字节数转换成对应的文件大小符号(KMGTP)

def bytes2human(n):
  """
  >>> bytes2human(10000)
  9K
  >>> bytes2human(100001221)
  95M
  """
  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 = int(float(n)/prefix[s])
          return '%s%s' % (value, s)
  return '%sB' % n
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容