JAVA g m k,Python字节单位转换(将字节转换为K M G T)

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字节单位转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值