这个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)
通常可采用以下方法:
Method | Argument(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
- 项目
标签: