python怎样读取(或写入)二进制数据?
要读写复杂的二进制数据格式,最好使用 struct
模块。该模块可以读取包含二进制数据(通常是数字)的字符串并转换为 Python 对象,反之亦然。
举例来说,下面的代码会从文件中以大端序格式读取一个 2 字节的整型和一个 4 字节的整型:
importstructwithopen(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