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

时间:2021-05-22

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章