Python字节单位转换实例
2019-12-06 12:09
435 查看
我就废话不多说了,直接上代码!
from enum import Enum class Values(): values={'B':1} @staticmethod def getValues(): if len(Values.values)<=1: kbunits=['KB','MB','GB','TB','PB','EB','ZB','YB','BB','NB','DB'] kibunits=['KiBi','MiB','GiB','TiB','PiB','EiB','ZiB','YiB','BiB','NiB','DiB'] for index,unit in enumerate(kibunits): Values.values[unit]=1<<(index+1)*10 for index,unit in enumerate(kbunits): Values.values[unit]=10**((index+1)*3) return Values.values @staticmethod def get(key): return Values.getValues().get(key) class Units(Enum): def __new__(cls,name): obj = object.__new__(cls) print (name) obj._value_=Values.get(name) return obj B=('B') KB=('KB') KiB=('KiBi') MB=('MB') MiB=('MiB') GB=('GB') GiB=('GiB') TB=('TB') TiB=('TiB') PB=('PB') PiB=('PiB') EB=('EB') EiB=('EiB') ZB=('ZB') ZiB=('ZiB') YB=('YB') YiB=('YiB') BB=('BB') BiB=('BiB') NB=('NB') NiB=('NiB') DB=('DB') DiB=('DiB') class ByteUnitConversionUtil(): __defaultformat="%.5f" @staticmethod def convert(value,unit=Units.B,format=__defaultformat): if(unit==Units.B): return str(value).split(".",2)[0]+unit.name else: return (format % (value/unit.value))+unit.name if __name__=="__main__": print(ByteUnitConversionUtil.convert(12313213453,Units.KiB,"%.2f"))
以上这篇Python字节单位转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- Python字节单位转换
- python数据结构之二叉树的统计与转换实例
- python各类经纬度转换的实例代码
- 对Python生成汉字字库文字,以及转换为文字图片的实例详解
- Python中字符串与字节之间相互转换
- Python实现64位整型主机字节顺序和网络字节顺序的转换
- python字符串与url编码的转换实例
- Python和二进制(2)---网络字节转换
- 使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
- Python温度转换实例
- Python中 CSV格式清洗与转换的实例代码
- Python 字符串(三)-字符串操作实例(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- python 数字类型和字符串类型的相互转换实例
- python 字节转换:struct
- [置顶] Python和Java的类型转换实例与分析
- python数据结构之二叉树的统计与转换实例
- 读写文件1——以字节为单位,读写文件(笔记实例)
- Python中的encode与decode,详解字符串与字节对象之间的转换
- C# 字节转换成"B", "KB", "MB", "GB", "TB", "PB"实例
- python 字节转换:struct