python读写二进制文件bin

2019-07-08  本文已影响0人  此方病

请问如何能够使用python3读取二进制的.bin文件
Python中的pack和unpack的使用

参考上述文章可知,可以使用struct进行读取,即pack和unpack。

import struct

打包变长字符串

对于变长字符在处理的时候可以把字符的长度当成数据的内容一起打包。

data = struct.pack("I%ds" % (len(s),), len(s), s)

上面代码把字符 s 的长度打包成内容,可以在进行内容读取的时候直接读取。

解包变长字符串

(i,), data = struct.unpack("I", data[:int_size]), data[int_size:]

解包变长字符时首先解包内容的长度,在根据内容的长度解包数据

在我的代码里,

np.array(struct.unpack(‘%df’ % (h * w), f.read(4 * h * w)), float)

这个%df,是拆分成%d和f,%d对应数量(h*w),比如100个就是100f,f就是float。

上一篇 下一篇

猜你喜欢

热点阅读