计算和显示字节
bytesize的Python项目详细描述
字节大小
ByteSize是一个用于处理 以字节表示的大小。它的主要特点是 它可以被构造成大小的对象,表示精确和有限的 字节数。为大小对象定义了各种算术运算。
它的唯一目的是将真实数量的内存表示在真实的 机器。因此,它不允许字节的幂,不精确 字节数,或非有限字节数。为了 通常的算术定律是可以保持的,它允许分数 字节数。
字节
的实用计算用字节计算时,可以将数值视为逻辑值, 而不是一个物理量。也就是说,与质量或长度不同, 必须用测量仪器测量的量 它有一些内在的不精确性,内存的字节数, 或者在一个磁盘上,是一个不被测量,但被精确知道的量。 因此,计算如两个尺寸的相加和转换 在不同大小的字节之间,即从mib到gib,必须执行 没错。因此,底层实现必须使用 字节数的表示。浮点数,它们是 通常是物理表示的首选类型 此要求不允许数量。
操作
该模块不支持字节数量的多维性。 因此,将一个大小对象乘以另一个大小对象将导致 要引发的错误,因为模块无法表示字节^2。 在大多数情况下,任何能产生多维量的运算 字节的个数无效。没有计划调整这个包,以便 可以容纳字节的多维性。
许多字节计算都是无意义的。例如,2提升为 幂是一些字节,是一种无意义的计算。所有这些 操作会引发错误。
操作的结果类型是大小(如果适用)或子类型 有理数,其中数值是适当的。
浮点数
在计算大小时不可能使用浮点数。 如果需要小数,请使用十进制对象而不是浮点数。 因此,size(0)*1.2引发异常,但是size(0)*decimal(“1.2”)是 可以接受。
显示尺寸
根据指定的配置显示大小。默认情况下 配置,大小使用二进制而不是si前缀显示 或者名字,不管值多少。例如,不显示1000字节 作为1KB(1KB),但作为某些字节数或kib(kibibytes)。
大小的详细表示使用精确的十进制表示 包括重复部分,如果有的话。
表示单位
size模块为si和二进制单位提供一组命名前缀, 对于所有非分数前缀。未定义分数前缀。
以编程方式构造尺寸
新的大小对象可以由大小对象、数值构造,例如, int或decimal,或表示此类数值的字符串。 字符串可以用来表示小数,例如“1.2”,但是 不允许浮动。
构造函数采用可选的单位说明符,默认为字节 对于所有数值,对于大小对象,为“无”。的类型 单位说明符是由大小模块或大小对象提供的命名前缀。
错误
bytesize操作引发的所有错误都是sizeerror类的子类型。
其他套餐
如果你聪明的话依赖于python的物理计算,而不是 逻辑上,数量上,你应该参考品脱包装: http://pint.readthedocs.org。