Python字節(jié)單位轉(zhuǎn)換(將字節(jié)轉(zhuǎn)換為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’ % npython編寫的儲存單位轉(zhuǎn)換代碼(以字節(jié)(B)為單位)
def bytes(bytes): if bytes < 1024: #比特 bytes = str(round(bytes, 2)) + ’ B’ #字節(jié) elif bytes >= 1024 and bytes < 1024 * 1024: bytes = str(round(bytes / 1024, 2)) + ’ KB’ #千字節(jié) elif bytes >= 1024 * 1024 and bytes < 1024 * 1024 * 1024: bytes = str(round(bytes / 1024 / 1024, 2)) + ’ MB’ #兆字節(jié) elif bytes >= 1024 * 1024 * 1024 and bytes < 1024 * 1024 * 1024 * 1024: bytes = str(round(bytes / 1024 / 1024 / 1024, 2)) + ’ GB’ #千兆字節(jié) elif bytes >= 1024 * 1024 * 1024 * 1024 and bytes < 1024 * 1024 * 1024 * 1024 * 1024: bytes = str(round(bytes / 1024 / 1024 / 1024 / 1024, 2)) + ’ TB’ #太字節(jié) 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’ #拍字節(jié) 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’ #艾字節(jié) 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 FilesPythonPython36python.exe' C:/Users/Jochen/PycharmProjects/mysite/bytes.py0:0 B1:1 B2:10 B3:100 B4:1000 B5:9.77 KB6:97.66 KB7:976.56 KB8:9.54 MB9:95.37 MB10:953.67 MB11:9.31 GB12:93.13 GB13:931.32 GB14:9.09 TB15:90.95 TB16:909.49 TB17:8.88 PB18:88.82 PB19:888.18 PB20:8.67 EB20:86.74 EB20:867.36 EB
Process finished with exit code 0
到此這篇關(guān)于Python字節(jié)單位轉(zhuǎn)換(將字節(jié)轉(zhuǎn)換為K M G T)的文章就介紹到這了,更多相關(guān)Python字節(jié)單位轉(zhuǎn)換內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 使用EF Code First搭建簡易ASP.NET MVC網(wǎng)站并允許數(shù)據(jù)庫遷移2. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達式3. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁4. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進)5. HTML5 Canvas繪制圖形從入門到精通6. XML入門的常見問題(四)7. JavaWeb Servlet中url-pattern的使用8. ASP中if語句、select 、while循環(huán)的使用方法9. XML入門的常見問題(一)10. asp批量添加修改刪除操作示例代碼
