Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python一般将数据解析为对象结构_Python_Parsing_Generics_Data Structures_Struct - Fatal编程技术网

Python一般将数据解析为对象结构

Python一般将数据解析为对象结构,python,parsing,generics,data-structures,struct,Python,Parsing,Generics,Data Structures,Struct,我想知道的是,我是否有一个定义的结构化对象,具有已知的参数和顺序。我想以一种通用的方式将二进制blob解析到这个结构中 例如,我知道我的文件是这种结构的二进制文件 typedef struct { uint frCompressedSize; uint frUncompressedSize; ushort frFileNameLength; ushort frExtraFieldLength;

我想知道的是,我是否有一个定义的结构化对象,具有已知的参数和顺序。我想以一种通用的方式将二进制blob解析到这个结构中

例如,我知道我的文件是这种结构的二进制文件

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调用解决了我的问题,比我认为必须进行的硬编码解析要少得多。谢谢