python读取二进制文件

python读取二进制文件

其实在我发布的前两个博客中已经包含了python读取二进制的方法,但是我还是觉得有必要将该方法单独拿出来,发布一下。因为,当初刚接触这方面的知识时,第一关(读取二进制文件)就难以跨过。

其实就是用到了两个包:struct和numpy
想要知道数据是否读取正确,可以可视化或者是调试

import numpy as np
import struct


def xshow(filename, nx, nz):
    f = open(filename, 'rb')
    pic = np.zeros((nx, nz))
    for i in range(nx):
        for j in range(nz):
            data = f.read(4)
            elem = struct.unpack("f", data)[0]
            pic[i][j] = elem
    f.close()
    return pic


if __name__ == '__main__':
	data_path = r''
	col = 1200
	lines = 1200
	data = xshow(data_path, nx=col, nz=lines)
	plt.imshow(data)
	plt.show()

你可能感兴趣的:(python,numpy)