python怎样读取(或写入)二进制数据?

python

要读写复杂的二进制数据格式,最好使用 struct 模块。该模块可以读取包含二进制数据(通常是数字)的字符串并转换为 Python 对象,反之亦然。

举例来说,下面的代码会从文件中以大端序格式读取一个 2 字节的整型和一个 4 字节的整型:

importstruct

withopen(filename,"rb")asf:

s=f.read(8)

x,y,z=struct.unpack(">hhl",s)

格式字符串中的 ‘>’ 强制以大端序读取数据;字母 ‘h’ 从字符串中读取一个“短整型”(2 字节),字母 ‘l’ 读取一个“长整型”(4 字节)。

对于更常规的数据(例如整型或浮点类型的列表),你也可以使用 array 模块。

注解

要读写二进制数据的话,需要强制以二进制模式打开文件(这里为 open() 函数传入 "rb")。如果(默认)传入 "r" 的话,文件会以文本模式打开,f.read() 会返回 str 对象,而不是 bytes 对象。

以上是 python怎样读取(或写入)二进制数据? 的全部内容, 来源链接: utcz.com/z/520643.html

回到顶部