允许读写iff块的替换块类。
chunk2的Python项目详细描述
iff块,如 EA IFF 85 标准,由4字节id字段、4字节长度字段组成, 以及块的数据内容,并可选地后跟 单个填充null字节(如果需要)以生成总数 偶数字节。
Chunk ID | 4 bytes |
Length | 4 bytes |
Data | n bytes |
Padding | 0 or 1 byte |
- 块ID是一个4个字符的字符串,用于标识类型 大块的。
- 长度是一个4字节的整数(通常采用大端格式) 指示数据字段的长度。
chunk类允许从类似于 对象或创建块并将其写入类似文件的对象, 但不是两者都有。
对于读取,chunk类从文件中读取单个chunk,如 对象,然后是一个只读的类似文件的对象,用于读取 块的内容。
chunk尝试确定是否可以看到类似于基础文件的对象 通过tell操作;如果不引发异常, 然后,由chunk呈现的类文件对象本身是可查看的。
当块被关闭时,底层的类文件对象被定位 要在块之后立即读取(在填充字节之后, 如果有的话)。
对于写入,chunk类提供一个write only类文件对象 用于创建块的内容以及setname 分配块ID的方法。
对于其基础文件类对象不可查看的可写块, 创建内存中的文件对象以保存块的数据;仅 当块关闭时,内存中的文件对象将刷新到 基本的类文件对象。
iff文件可以由多个顶级块组成;“container” 区块类型(FORM,CAT ``, and ``LIST)包含其他区块。 chunk类被设计为多次实例化,一次 在另一个之后,用于从 或文件,或“容器”块的内容。
parse_chunk和parse_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;所有权利 保留;许可如下:
允许任何人使用、复制、修改和/或分发本软件 特此授予收费或不收费的目的,前提是 版权声明和本许可声明出现在所有副本中。
软件按“原样”提供,作者不作任何保证 关于本软件,包括 适销性和适用性。在任何情况下,作者都不承担责任 任何特殊的、直接的、间接的或间接的损害或任何损害 任何由于使用、数据或利润损失而导致的,无论是 因下列原因引起的合同诉讼、疏忽或其他侵权诉讼 或与本软件的使用或性能有关。