【问题标题】:Python generically parse data into object structurePython 通常将数据解析为对象结构
【发布时间】:2013-02-25 19:30:05
【问题描述】:

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

比如我知道我的文件是这个结构的二进制文件

typedef struct { 
         uint     frCompressedSize;
         uint     frUncompressedSize;
         ushort   frFileNameLength;
         ushort   frExtraFieldLength;
         char     frFileName[ frFileNameLength ];
         uchar    frExtraField[ frExtraFieldLength ];
         uchar    frData[ frCompressedSize ];
     } ZIPFILERECORD;

有没有比以硬编码方式一次读取单个字段更好的方法?在我的真实代码中,该结构有近 100 个参数,所以硬编码方法不是我的首选。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: python parsing generics data-structures struct


    【解决方案1】:

    您正在寻找 python struct

    【讨论】:

    • 这让我走到了一半,我不得不将结构分成两部分,因为最后 3 个参数大小依赖于在顶部参数中读取的值。将它分成几个 struct.unpack 调用解决了我的问题,这比我认为我必须要做的硬编码解析要少得多。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多