我有具有预定义格式的大型二进制数据文件,最初由 Fortran 程序以小端方式编写。我想以最快、最有效的方式读取这些文件,因此使用array https://docs.python.org/3/library/array.html包裹似乎正合我的胃口,如建议的那样提高二进制文件的读取和转换速度? https://stackoverflow.com/questions/5804052/improve-speed-of-reading-and-converting-from-binary-file.
问题是预定义的格式是非同质的。它看起来像这样:['<2i','<5d','<2i','<d','<i','<3d','<2i','<3d','<i','<d','<i','<3d']
对于每个整数i
占用4个字节,每个双倍d
占用8个字节。
有什么方法我仍然可以使用超高效array
包(或其他建议)但格式正确?
Use struct https://docs.python.org/3/library/struct.html。尤其,struct.unpack
.
result = struct.unpack("<2i5d...", buffer)
Here buffer
保存给定的二进制数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)