将数组以二进制格式保存到磁盘
转自:https://blog.csdn.net/m0_37041325/article/details/78006203
np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。
-
import numpy as np
-
a=np.arange(5)
-
np.save('test.npy',a)
这样在程序所在的文件夹就生成了一个test.npy文件
将test.npy文件中的文件读出来
-
import numpy as np
-
a=np.load('test.npy')
-
print(a)
注:保存为Numpy专用的二进制格式后,就不能用notepad++等打开看了(乱码)。因此这种方式建议在不需要看保存文件内容的情况下使用。
np.savez
如果你想将多个数组保存到一个文件中的话,可以使用numpy.savez函数。savez函数的第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为arr_0, arr_1, …。savez函数输出的是一个压缩文件(扩展名为npz),其中每个文件都是一个save函数保存的npy文件,文件名对应于数组名。load函数自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为关键字获取数组的内容:
-
import numpy as np
-
a=np.arange(3)
-
b=np.arange(4)
-
c=np.arange(5)
-
np.savez('array_save.npz',a,b,c_array=c)
这样程序所在文件夹就生成了一个array_save.npz文件
把npz文件中的数据读出来
-
import numpy as np
-
A=np.load('array_save.npz')
-
print(A['arr_0'])
-
print(A['arr_1'])
-
print(A['c_array'])