允许读写iff块的替换块类。

chunk2的Python项目详细描述


iff块,如 EA IFF 85 标准,由4字节id字段、4字节长度字段组成, 以及块的数据内容,并可选地后跟 单个填充null字节(如果需要)以生成总数 偶数字节。

Chunk ID4 bytes
Length4 bytes
Datan bytes
Padding0 or 1 byte
  • 块ID是一个4个字符的字符串,用于标识类型 大块的。
  • 长度是一个4字节的整数(通常采用大端格式) 指示数据字段的长度。

chunk类允许从类似于 对象或创建块并将其写入类似文件的对象, 但不是两者都有。

对于读取,chunk类从文件中读取单个chunk,如 对象,然后是一个只读的类似文件的对象,用于读取 块的内容。

chunk尝试确定是否可以看到类似于基础文件的对象 通过tell操作;如果不引发异常, 然后,由chunk呈现的类文件对象本身是可查看的。

当块被关闭时,底层的类文件对象被定位 要在块之后立即读取(在填充字节之后, 如果有的话)。

对于写入,chunk类提供一个write only类文件对象 用于创建块的内容以及setname 分配块ID的方法。

对于其基础文件类对象不可查看的可写块, 创建内存中的文件对象以保存块的数据;仅 当块关闭时,内存中的文件对象将刷新到 基本的类文件对象。

iff文件可以由多个顶级块组成;“container” 区块类型(FORMCAT ``, and ``LIST)包含其他区块。 chunk类被设计为多次实例化,一次 在另一个之后,用于从 或文件,或“容器”块的内容。

parse_chunkparse_iff_filehelper方法有助于 通过自动解析容器块来读取iff文件。 parse_iff_file返回由 块名称和块内容;对于容器块,块 内容本身就是块元组的列表。


待办事项

  • 如果可能,从头重写以删除原始的python代码
  • 如果可能,修改为同时使用python 2和python 3

许可证

从Python2.7库复制原始代码基,然后修改 以支持写功能。

原始chunk.py版权所有(c)2001、2002、2003、2004, 2005年、2006年、2007年、2008年、2009年、2010年、2011年、2012年、2013年、2014年、2015年, 2016、2017 python软件基金会;保留所有权利;授权 在python软件基础许可版本2下 <;https://docs.python.org/2.7/license.html>;

衍生部分版权所有(c)2017 Johnson Earls;所有权利 保留;许可如下:

允许任何人使用、复制、修改和/或分发本软件 特此授予收费或不收费的目的,前提是 版权声明和本许可声明出现在所有副本中。

软件按“原样”提供,作者不作任何保证 关于本软件,包括 适销性和适用性。在任何情况下,作者都不承担责任 任何特殊的、直接的、间接的或间接的损害或任何损害 任何由于使用、数据或利润损失而导致的,无论是 因下列原因引起的合同诉讼、疏忽或其他侵权诉讼 或与本软件的使用或性能有关。

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

推荐PyPI第三方库


热门话题
传递Java处理类类型参数的方式的参数   java安卓中间层admob在logcat中导致大量GC_FOR_ALLOC释放消息   java Vert。x Http请求未将参数分配为配置   java中多线程的输出不正确   如何减少java本地线程的冗余   java不完全分块结果   使用OpenCv时java中的Mat数据类型不受支持错误   Java中的正则表达式不工作,而同一正则表达式在shell中工作   java如何从数组中删除元素?   JDBCJava。sql。SQLException:[Microsoft][ODBC Microsoft Access驱动程序]操作必须使用可更新的查询   java如何以对角线打印字符串变量的字符?   SonarQube 5.2的java自定义插件生成NoClassDefFoundError   macos使用Java应用程序打开浏览器选项卡