我正在尝试将 numpy 数组写入文件,但文件格式是每个值必须仅包含表示 64 位 float 所需的 8 个字节。
据我所知, ndarray.tofile(array), with array.dtype = 'float64' 无法实现这一点,那么我怎样才能快速做到这一点?
最佳答案
tofile
已经创建了您描述的二进制文件。你确定你的调用正确吗?如果您在代码中打开文件,您是否记得以二进制模式打开它?以下是 tofile
按预期工作的示例:
>>> import numpy as np
>>> a = np.array([1, 2, 3], dtype='float64')
>>> a
array([ 1., 2., 3.])
>>> a.tofile('foo')
检查该文件后发现它的长度为 24 字节,内容对应于小端 64 位 IEEE 754 float :
$ hexdump -C foo
00000000 00 00 00 00 00 00 f0 3f 00 00 00 00 00 00 00 40 |.......?.......@|
00000010 00 00 00 00 00 00 08 40 |.......@|
00000018
关于python - 将 numpy 数组写入文件字节顺序问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18555486/