在python 3中解压缩二进制文件

时间:2015-03-10 14:38:09

标签: python

请帮忙解压缩Python 3中的二进制文件?它是一个2580 * 7839大小的图像,4字节浮点数。我在Python 2的代码中有什么用,但它不起作用。

bformat= ">%sf"
ns = 2580*7839*4
#open file f
byte_arr=f.read(ns)
unpacked_bytes = unpack(bformat % (ns/4), byte_arr)
data=np.array(unpacked_bytes).reshape(7839,2580)
print ('min value', data.min())
print ('max value', data.max())

我收到错误消息“struct.error:struct format in struct format”

谢谢!

1 个答案:

答案 0 :(得分:0)

使用struct怎么样?

import struct

f0 = struct.unpack('>f', f.read(4))[0]
f1 = struct.unpack('>f', f.read(4))[0]
f2 = struct.unpack('>f', f.read(4))[0]
....

更好的循环

for i in range(0, 2580*7839):
    ff = struct.unpack('>f', f.read(4))[0]
    print(i,ff)

它会破坏某个地方,你会知道