这个python模块实现了一个数据块容器。

jk-bincontainer的Python项目详细描述


jk泳bincontainer公司

简介

这个python模块为数据块实现了一个容器。在

有关此模块的信息可在以下位置找到:

为什么选择这个模块?在

有时存储单个文件比存储多个文件更方便。为了重用此类功能,创建了此模块。它实现了一个容器,允许添加二进制数据块,将整套ob块存储在一个文件中,并在以后再次加载所有内容。在

本模块深受PNG文件内部结构的启发。在

本模块的局限性

每个数据块都必须有一个唯一的密钥,以便可以在容器中标识它。此密钥必须正好由4个ASCII字符组成。在

所有的数据处理都在内存中完成。因此,建议不要对大量数据使用此容器。(本容器不适用于此类要求。)

如何使用此模块

导入此模块

请使用以下代码将此模块包含到您的应用程序中:

importjk_bincontainer

创建数据容器

要创建空容器,只需构造它:

^{pr2}$

容器现在可以使用了。在

添加数据块

您可以像这样添加二进制数据块:

bc.addBinaryBlock("abcd",b"\x01\x02\x03")

再次检索块

当然,稍后您可以再次找到该块:

blockType,rawData=bc.getBlockByKeyE("abcd")

所有命名的数据检索方法都返回这样一个元组。如果按索引检索,则会收到三倍:

blockKey,blockType,rawData=bc.getBlockByIndexE(0)

通常可采用以下方法:

MethodArgument(s)Return Value(s)
^{}^{}^{}, ^{}, ^{}
^{}^{}^{}, ^{}, ^{}
^{}^{}^{}, ^{}
^{}^{}^{}, ^{}

序列化数据容器

数据容器可以这样序列化:

rawBytes=bytes(bc)

或者:

rawBytes=bc.toBytes()

它们都将用容器中的数据构造一个bytes对象。在

另外,如果您对bytearray而不是bytes感兴趣,可以构造一个bytearray对象:

rawByteArray=bc.toByteArray()

将数据容器写入磁盘

数据容器可以序列化并写入磁盘:

bc.writeToFile("/path/tp/myfile")

从磁盘加载数据

如果已将数据写入磁盘,则可以再次加载它们。示例:

bc.loadFromFile("/path/tp/myfile")

反序列化数据

或者,您可能已经有二进制数据,并希望直接从中加载。示例:

bc.loadFromData(binData)

联系方式

这项工作是开源的。这使你可以免费使用这项工作。在

请记住,这也能让你做出贡献。我们,软件开发人员的亚种,可以创造出伟大的东西。但合作越多,这些事情就越精彩。因此,请随时联系下面列出的作者,以提供反馈、提供评论、提示、指出可能的合作、想法和改进。或者“只”报告一些错误:

许可证

本软件根据以下许可证提供:

  • Apache软件许可证2.0

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

推荐PyPI第三方库


热门话题
java随机填充2d数组   java运行时。getRuntime。带有长参数的exec(cmd)   java Minecraft无法放置自定义背景   java AChartEngine YAxis自定义标签区域边距和图表值为字符串?   泛型类的java类型安全错误   整数的java符号等价物。toBinaryString方法?   Java中数组列表的数组   java WebView应用程序在谷歌登录后显示空白屏幕   java从backback中删除特定片段   如果服务器不支持使用的协议,java JSSE是否实现回退?   java Sonarqube正在进行核心漏洞查找。如何解决   javajavax。jcr。UnsupportedPositionOperationException:testVersionable处的节点不可版本化   java在安卓中每隔X小时运行一次文件/函数,无需打开应用程序   java如何为磁盘持久性配置BigMemory?   java BufferWriter不转换383以上的整数   Java7交集类型:规范具体说明了什么?   Java:CollectionHow创建多列   java如何检测运算符的空白   java问题:在firebase中为导航栏中的第二个表单提交数据第一个表单工作正常。实际isse是连接Mainactivity中的另一个活动