计算和显示字节

bytesize的Python项目详细描述


https://secure.travis-ci.org/mulkieran/bytesize.png?branch=master

字节大小

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spinner选定值未上载到firebase数据库   java如何通过bukkit中的配置添加消息?   java在SharedReference中保存列表的泛型类型   javascript Java小程序未定义   swt在Java中构建控制台应用程序   java OAuth同意屏幕没有突然显示,没有错误?   java webview选择文件安卓不工作   java Spring boot JPA如何从同一连接添加多个数据库?   java JDBC DB2驱动程序计时器线程处于阻塞状态   java我在vscode中运行flatter时看到一个错误在phone中运行应用程序somone能否帮助我plz   Java:生成JSON:如何避免生成不完整的JSON   java Date compareTo()方法始终返回1   当使用Junit runner运行测试时,java Spring自动连线失败   java Android/Sockets如何将信息从主UI线程发送到socket线程?   java Android内存声明全局变量   java如何在JBoss中拥有多个具有相同JNDI名称的数据源?   python在Java中嵌入CPython时,为什么会挂起?   java如何提供深度模拟对象?   java“find:smallint,expected:integer”Hibernate对informix数据库的验证在短时间内失败