在Python中,struct模块用于处理C结构体的打包和解包操作。它提供了一些函数来处理二进制数据和Python中的字符串之间的转换。
下面是一些常用的struct模块函数的用法:
import struct
# 将整数和浮点数打包为二进制数据
data = struct.pack('i f', 10, 3.14)
print(data) # b'\n\x00\x00\x00\x0b\x86\x1f@'
import struct
# 从二进制数据中解包整数和浮点数
data = b'\n\x00\x00\x00\x0b\x86\x1f@'
values = struct.unpack('i f', data)
print(values) # (10, 3.140000104904175)
import struct
# 计算结构体的大小
size = struct.calcsize('i f')
print(size) # 8
import struct
# 迭代解包二进制数据
data = b'\n\x00\x00\x00\x0b\x86\x1f@\n\x00\x00\x00\x16\xc0\xb0@'
for values in struct.iter_unpack('i f', data):
print(values) # (10, 3.140000104904175), (22, 22.5)
这里只是简单介绍了struct模块的一些常用函数的用法,你可以根据实际需求查阅官方文档来了解更多详细的用法和格式字符串的规则。