Python中Struct二进制数据模块
Python中Struct二进制数据模块
Python的struct模块,用来从字符串创建和提取打包的二进制数据。
pack(fmt, v1, v2, ...) 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)。 unpack(fmt, string) 按照给定的格式(fmt)解析字节流string,返回解析出来的tuple。
向一个二进制文件中写入数据。
>>>F = open('data.bin', 'wb') >>>import struct >>>data = struct.pack('>i4sh',7,'spam',8) >>>data b'\x00\x00\x00\x07spam\x00\x08' >>>F.write(data) 10 >>>F.close()
>>>F = open('data.bin', 'rb') >>>data = F.read() >>>data b'\x00\x00\x00\x07spam\x00\x08' >>>import struct >>>values = struct.unpack('>i4sh',data) >>>values (7,'spam',8)注意unpack返回的是一个tuple对象。
评论关闭