Python中的struct模块简单介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jerry_1126/article/details/83549355

struct模块能够构造并解析打包的二进制数据。 从某种意义来说,它是一个数据转换工具,它能够把文件中的字符串解读为二进制数据。 简单用法如下:

  • 用struct来打包

>>> import struct
>>> F = open("data.bin", "wb")                  # 打开文件供写
>>> data = struct.pack(">i4sh", 7, 'spam', 8)   # 使用>i4sh格式,打包数据
>>> data                                      
'\x00\x00\x00\x07spam\x00\x08'
>>> F.write(data)                               # 写byte字符数据
>>> F.close()
  • 用struct来解包

>>> import os
>>> F = open("data.bin", "rb")                  # 打开二进制文件,方式"rb"
>>> data = F.read()                             # 读取二进制文件的内容
>>> data
'\x00\x00\x00\x07spam\x00\x08'
>>> values = struct.unpack(">i4sh", data)       # 使用'>4ish'格式来解包
>>> values                                      # 实际的值
(7, 'spam', 8)
>>>

备注:

这里的格式化字符串是指一个4字节整数,一个包含4个字符的字符串以及一个2位整数的数据包

猜你喜欢

转载自blog.csdn.net/Jerry_1126/article/details/83549355
今日推荐