欢迎使用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 |