numpy数据存储(save、savetxt、savez)的区别

在深度学习中,对数据的预处理时通常需要将原始数据保存在一个合适的文件中。
其中主要的三种保存数据的方法(np.save、np.savetxt、np.savez)有本质上的区别。

np.save(‘a.npy’,a)

save主要保存.npy文件
但是.npy文件不能追加数据,也就是说在创建的同时需要将数据一次性的输入,之后不能再向文件中添加数据。

np.savez(‘a.npz’,ar0=a,ar1=b)

savez主要保存.npz文件,但是它可以将多条数据同时压缩到一个.npz 文件中。
同样地,虽然savez可以保存多条数据,但是也不可追加数据,即在创建文件时,就要将需要输入的多个数据同时输入并保存,之后不可再向文件中添加数据。

np.savetxt(‘a.txt’,a)

savetxt只要将数据保存为txt文件,和前两个不同,它可以再次对文件操作,但是对已有数据的文件再次使用savetxt(),并不会将数据追加在后面,而是将之前数据覆盖。

.npy文件追加数据

因为.npy 文件不能追加数据,所以如果有多条数据不同时的产生,而需要保存在同一个文件中,则可以将多条数据先保存到一个数组中,然后再保存。

all_arrays_1=[]
all_arrays_1.append(show_img)
all_arrays_1 = np.array(all_arrays_1)
np.save('a.npy'),all_arrays_1)  # 存为.npy文件`

你可能感兴趣的:(深度学习,python,numpy,save,深度学习,数据保存)