正如在
在附加模式下加载使用numpy.save保存的数组
可以多次保存到打开的文件,也可以多次加载。这没有记录,可能不是首选,但是可以。
savez存档是保存多个阵列的首选方法。
这是一个玩具示例:
In [777]: with open('multisave.npy','wb') as f: ...: arr = np.arange(10) ...: np.save(f, arr) ...: arr = np.arange(20) ...: np.save(f, arr) ...: arr = np.ones((3,4)) ...: np.save(f, arr) ...: In [778]: ll multisave.npy-rw-rw-r-- 1 paul 456 Feb 13 08:38 multisave.npyIn [779]: with open('multisave.npy','rb') as f: ...: arr = np.load(f) ...: print(arr) ...: print(np.load(f)) ...: print(np.load(f)) ...: [0 1 2 3 4 5 6 7 8 9][ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19][[ 1. 1. 1. 1.] [ 1. 1. 1. 1.] [ 1. 1. 1. 1.]]这是保存相同形状的数组列表的简单示例
In [780]: traces = [np.arange(10),np.arange(10,20),np.arange(100,110)]In [781]: tracesOut[781]: [array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19]), array([100, 101, 102, 103, 104, 105, 106, 107, 108, 109])]In [782]: arr = np.array(traces)In [783]: arrOut[783]: array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [100, 101, 102, 103, 104, 105, 106, 107, 108, 109]])In [785]: np.save('mult1.npy', arr)In [786]: data = np.load('mult1.npy')In [787]: dataOut[787]: array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [100, 101, 102, 103, 104, 105, 106, 107, 108, 109]])In [788]: list(data)Out[788]: [array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]), array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19]), array([100, 101, 102, 103, 104, 105, 106, 107, 108, 109])]


