python二进制文件解析

struct.pack():

    struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为字节流,或字节数组)。其函数原型为:struct.pack(fmt, v1, v2, ...),参数fmt是格式字符串,关于格式字符串的相关信息下面有所介绍。v1, v2, ...表示要转换的python值。

 

struct.unpack

 

  struct.unpack做的工作刚好与struct.pack相反,用于将字节流转换成python数据类型。它的函数原型为:struct.unpack(fmt, string),该函数返回一个元组。

 

 

 

 1 f= open(file_name,rb)
 2 f.seek(0,2)
 3 data_len=f.tell()
 4 while 1:
 5      if f.tell() == data_len:
 6          print file is end
 7          break
 8      else:
 9          data = f.read(2)
10          (ident,) = struct.unpack(endianness + H, data[0:2])
11 f.close()

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。