在python中读取二进制大字节序文件

时间:2018-07-16 23:00:47

标签: python numpy binary endianness

我想使用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)

此方法不会引发任何错误,但是它读取的值非常大且不正确。谁能帮助您阅读这些文件?预先感谢。

1 个答案:

答案 0 :(得分:2)

使用>f将为您提供单精度(32位)浮点值。而是尝试

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