python - 将 numpy 数组写入文件字节顺序问题?

标签 python numpy io

我正在尝试将 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/

相关文章:

python - PySpark:添加一个新列,其中包含从列创建的元组

python - 为什么 Gauss-Jacobi 方法的特定 numpy 实现会显着减少迭代次数?

python - Pandas 用字符串转换日期

java - Spring框架-如何将目录作为资源注入(inject)?

C 从文件中读入字符串,拆分成数组

python - 如果达到基本情况,为什么这个递归函数永远不会结束?

Python-在字典中添加值

python - QtiPlot 和 Python : global name 'QLocale' is not defined

python - 重复numpy数组而不复制数据

linux - select() 对/dev/input/mice 上的写入没有响应