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 '%.1编程客栈f%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: HdhCmsTestcppcns测试数据
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 bytesHdhCmsTestcppcns测试数据 >= 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 &g编程客栈t;= 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 P编程客栈B 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字节单位转换(将字节转换为K M G T)的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did163256