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之画圈还不简单吗?
Sep 20 Python
python实现逆波兰计算表达式实例详解
May 06 Python
分享Python文本生成二维码实例
Jan 06 Python
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
用matplotlib画等高线图详解
Dec 14 Python
基于python实现在excel中读取与生成随机数写入excel中
Jan 04 Python
Python中的并发处理之asyncio包使用的详解
Apr 03 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
QML使用Python的函数过程解析
Sep 26 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
Jan 07 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
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
react-native android状态栏的实现
2018/06/15 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
python 获取et和excel的版本号
2009/04/09 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
Python实现FM算法解析
2019/06/18 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
网络工程师个人的自我评价范文
2013/10/01 职场文书
医院实习接收函
2014/01/12 职场文书
百年校庆节目主持词
2014/03/27 职场文书
爱我中华演讲稿
2014/05/20 职场文书
生物科学专业自荐书
2014/06/20 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
bat批处理之字符串操作的实现
2022/03/16 Python