在python中读取二进制big-endian文件



我想使用python读取ieee big-endian 64位浮点格式的大型二进制文件,但无法获得正确的值。我在matlab中有一个工作方法,如下所示:

fid=fopen(filename,'r','ieee-be');
data=fread(fid,inf,'float64',0,'ieee-be');
fclose(fid)

我在python中尝试过以下内容:

data = np.fromfile(filename, dtype='>f', count=-1)

这个方法不会抛出任何错误,但它读取的值非常大且不正确。有人能帮我找到阅读这些文件的方法吗?提前谢谢。

使用>f将为您提供单精度(32位(浮点值。相反,尝试

data = np.fromfile(filename, dtype='>f8', count=-1)

最新更新