python读取二进制文件并画图_使用Python读取二进制文件的实例讲解

目标:目标文件为一个float32型存储的二进制文件,按列优先方式存储。本文使用Python读取该二进制文件并使用matplotlib.pyplot相关工具画出图像

工具:Python3, matplotlib,os,struct,numpy

1. 读取二进制文件

首先使用open函数打开文件,打开模式选择二进制读取"rb"。

f = open(filename, "rb")

第二步,需要打开按照行列读取文件,由于是纯二进制文件,内部不含邮任何的数据结构信息,因此我们需要给定二进制数据的行数列数(nx和ny)来确定图像的形状。这里我们的数据类型是float32型的,对应过来是4bytes,使用for循环逐个read4个字节。

for i in range(nx):

for j in range(ny):

data = f.read(4)

得到的结果如下:

b'5x9dx82xc3'

b'xb1x04x10xc4'

b'xc1x9eDxc4'

b'ax86Rxc4'

b'x15x01=xc4'

可以看到,读入的数据为十六进制数,这个时候的数据并不能直接用来画图,需要转换为float32型。这里使用struct.unpack来转译

data_float = struct.unpack("f", data)[0]

就可以得到正确的结果了

-261.2281799316406


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部