在Python中读取结构二进制数据?
|
是否有诸如Ruby \ BinData之类的不错的Python解决方案来读取用户定义的二进制文件/流格式?如果不是,那么除了使用struct模块之外,在Python中首选的方法是什么?
我有一个二进制文件,用于存储事件的“记录”。记录的大小是动态的,因此我必须读取每个记录的前几个字节,以确定记录的长度和记录的类型。不同的记录类型将具有不同的字节布局。例如,类型为“ warning”的记录可能包含三个4字节的整数,后跟一个128字节的值,而类型为“ info”的记录可能仅具有五个4字节的整数。
以这样的方式定义不同的记录类型及其结构将是一件很不错的事,即我可以简单地将二进制blob传递给某些东西,然后处理其余的东西(对象生成等)。简而言之,您将定义有关如何解释二进制数据的模板/映射。
没有找到相关结果
已邀请:
4 个回复
械怒等
蹄寄噬非芹
有关详细信息,请参见文档:http://docs.python.org/library/struct.html
熊融炭臀陛
敦肌
您如何从python文件中读取此结构数据?这是一种方法:
因此,您需要了解c结构与struct.unpack()格式之间的映射 http://docs.python.org/2/library/struct.html#format-characters。