Python一般将数据解析为对象结构
我想知道的是,我是否有一个定义的结构化对象,具有已知的参数和顺序。我想以一种通用的方式将二进制blob解析到这个结构中 例如,我知道我的文件是这种结构的二进制文件Python一般将数据解析为对象结构,python,parsing,generics,data-structures,struct,Python,Parsing,Generics,Data Structures,Struct,我想知道的是,我是否有一个定义的结构化对象,具有已知的参数和顺序。我想以一种通用的方式将二进制blob解析到这个结构中 例如,我知道我的文件是这种结构的二进制文件 typedef struct { uint frCompressedSize; uint frUncompressedSize; ushort frFileNameLength; ushort frExtraFieldLength;
typedef struct {
uint frCompressedSize;
uint frUncompressedSize;
ushort frFileNameLength;
ushort frExtraFieldLength;
char frFileName[ frFileNameLength ];
uchar frExtraField[ frExtraFieldLength ];
uchar frData[ frCompressedSize ];
} ZIPFILERECORD;
有没有比以硬编码方式一次读取单个字段更好的方法?在我的实数代码中,结构几乎有100个参数,因此硬编码方法不是我的首选
有什么想法吗
谢谢 您正在寻找python库这让我走了一半,我不得不将结构分为两部分,因为最后3个参数大小依赖于顶部参数中读取的值。将它划分为几个struct.unpack调用解决了我的问题,比我认为必须进行的硬编码解析要少得多。谢谢