Bootstrap

Python:二进制文件读写

欢迎使用Markdown编辑器写博客

要求

打开一个文件,按照二进制读写数据。

解决

Python从文件中读取和写入的一般是字符串类型数据。因此,为了处理二进制数据,需要一种二进制数据到字符串数据的变换工具。

struct模块提供了所需功能。struct模块中最重要的三个函数是pack、unpack和calcsize。

  • pack(fmt,v1,v2,…)按照给定的格式,把数据封装成字符串
  • unpack(fmt,string)按照给定的格式解析字符串,返回解析出来的数据
  • calcsize(fmt)计算给定格式占用多少字节的内存

struct中支持的格式如下表:

format c Python byte
x pad byte no value 1
c char string of length 1 1
b char integer 1
B unsigned char integer 1
? bool bool 1
h short integer 2
H unsig
;