Python 以二进制形式写入ndarray并以正确的形状读取

Python 以二进制形式写入ndarray并以正确的形状读取,python,numpy,multidimensional-array,binaryfiles,Python,Numpy,Multidimensional Array,Binaryfiles,我有一个Nby6byfnumpy数组。我希望能够将其作为二进制文件编写,然后由另一个python脚本将其读取到相同维度的数组中 为了测试这一点,我执行以下操作: 此时arraytest.shape为(10,)。我如何确保它是(2,5)而不是,而不必事先知道2和5来重塑阵列的形状?我是否可以像在常规文本文件中使用\n一样,在二进制文件中对这些信息进行编码?为什么不使用np.save&np.load import numpy as np farray=np.array([[3.14, 2.7, 0.

我有一个
N
by
6
by
f
numpy数组。我希望能够将其作为二进制文件编写,然后由另一个python脚本将其读取到相同维度的数组中

为了测试这一点,我执行以下操作:


此时
arraytest.shape
(10,)
。我如何确保它是
(2,5)
而不是,而不必事先知道2和5来重塑阵列的形状?我是否可以像在常规文本文件中使用
\n
一样,在二进制文件中对这些信息进行编码?

为什么不使用np.save&np.load

import numpy as np
farray=np.array([[3.14, 2.7, 0.0, -1.0, 1.1],[3.14, 2.7, 0.0, -1.0, 1.1]])
np.save('nums.npy', farray)
loaded_farray = np.load('nums.npy')
print(loaded_farray)
[3.14 2.7 0.-1.1.1] [3.14 2.7 0.-1.1.1]]

import numpy as np
farray=np.array([[3.14, 2.7, 0.0, -1.0, 1.1],[3.14, 2.7, 0.0, -1.0, 1.1]])
np.save('nums.npy', farray)
loaded_farray = np.load('nums.npy')
print(loaded_farray)