Python字节单位转换(将字节转换为K M G T)


Posted in Python onMarch 02, 2021
def bytes_to_human(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 '%.1f%s' % (value,s)
  return '%sB' % n

python编写的储存单位转换代码(以字节(B)为单位)

def bytes(bytes):
  if bytes < 1024: #比特
    bytes = str(round(bytes, 2)) + ' B' #字节
  elif bytes >= 1024 and bytes < 1024 * 1024:
    bytes = str(round(bytes / 1024, 2)) + ' KB' #千字节
  elif bytes >= 1024 * 1024 and bytes < 1024 * 1024 * 1024:
    bytes = str(round(bytes / 1024 / 1024, 2)) + ' MB' #兆字节
  elif bytes >= 1024 * 1024 * 1024 and bytes < 1024 * 1024 * 1024 * 1024:
    bytes = str(round(bytes / 1024 / 1024 / 1024, 2)) + ' GB' #千兆字节
  elif bytes >= 1024 * 1024 * 1024 * 1024 and bytes < 1024 * 1024 * 1024 * 1024 * 1024:
    bytes = str(round(bytes / 1024 / 1024 / 1024 / 1024, 2)) + ' TB' #太字节
  elif bytes >= 1024 * 1024 * 1024 * 1024 * 1024 and bytes < 1024 * 1024 * 1024 * 1024 * 1024 * 1024:
    bytes = str(round(bytes / 1024 / 1024 / 1024 / 1024 / 1024, 2)) + ' PB' #拍字节
  elif bytes >= 1024 * 1024 * 1024 * 1024 * 1024 * 1024 and bytes < 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024:
    bytes = str(round(bytes / 1024 / 1024 / 1024 / 1024 / 1024 /1024, 2)) + ' EB' #艾字节
  return bytes
 
if __name__ == '__main__':
  print('0:' + bytes(0))
  print('1:' + bytes(1))
  print('2:' + bytes(10))
  print('3:' + bytes(100))
  print('4:' + bytes(1000))
  print('5:' + bytes(10000))
  print('6:' + bytes(100000))
  print('7:' + bytes(1000000))
  print('8:' + bytes(10000000))
  print('9:' + bytes(100000000))
  print('10:' + bytes(1000000000))
  print('11:' + bytes(10000000000))
  print('12:' + bytes(100000000000))
  print('13:' + bytes(1000000000000))
  print('14:' + bytes(10000000000000))
  print('15:' + bytes(100000000000000))
  print('16:' + bytes(1000000000000000))
  print('17:' + bytes(10000000000000000))
  print('18:' + bytes(100000000000000000))
  print('19:' + bytes(1000000000000000000))
  print('20:' + bytes(10000000000000000000))
  print('20:' + bytes(100000000000000000000))
  print('20:' + bytes(1000000000000000000000))

测试:

"D:\Program Files\Python\Python36\python.exe" C:/Users/Jochen/PycharmProjects/mysite/bytes.py
0:0 B
1:1 B
2:10 B
3:100 B
4:1000 B
5:9.77 KB
6:97.66 KB
7:976.56 KB
8:9.54 MB
9:95.37 MB
10:953.67 MB
11:9.31 GB
12:93.13 GB
13:931.32 GB
14:9.09 TB
15:90.95 TB
16:909.49 TB
17:8.88 PB
18:88.82 PB
19:888.18 PB
20:8.67 EB
20:86.74 EB
20:867.36 EB

Process finished with exit code 0

到此这篇关于Python字节单位转换(将字节转换为K M G T)的文章就介绍到这了,更多相关Python字节单位转换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的random()方法的使用介绍
May 15 Python
python生成IP段的方法
Jul 07 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
PyTorch预训练的实现
Sep 18 Python
Pytorch Tensor基本数学运算详解
Dec 30 Python
利用Python脚本实现自动刷网课
Feb 03 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 Python
python的html标准库
Apr 29 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 02 #Python
jupyter notebook指定启动目录的方法
Mar 02 #Python
python实现发送邮件
Mar 02 #Python
matplotlib阶梯图的实现(step())
Mar 02 #Python
Python读写Excel表格的方法
Mar 02 #Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 #Python
python中Pexpect的工作流程实例讲解
Mar 02 #Python
You might like
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
PHP中的float类型使用说明
2010/07/27 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
ThinkPHP路由详解
2015/07/27 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
javascript 冒号 使用说明
2009/06/06 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
python集合类型用法分析
2015/04/08 Python
分享6个隐藏的python功能
2017/12/07 Python
python实现媒体播放器功能
2018/02/11 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python变量命名的7条建议
2019/07/04 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
浅析python 字典嵌套
2020/09/29 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
香港士多网上超级市场:Ztore
2021/01/09 全球购物
高级销售求职信
2014/02/21 职场文书
艺术教育实施方案
2014/05/03 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书
mysql函数全面总结
2021/11/11 MySQL