这个 numpy 内存映射创建/保存/加载有什么问题,它似乎没有保存

What is wrong with this numpy memmap create / save / load, it doesn't seem to save

我首先创建一个内存映射,加载一些随机数,然后将其删除以将其保存到文件中:

db = np.memmap('/content/drive/My Drive/Share/DBs/test.npy', mode='w+', shape = (5,5))
db = np.random.uniform(size = (5,5))
print(db)
del db

Output:
[[0.601 0.776 0.566 0.288 0.985]
 [0.425 0.381 0.854 0.402 0.894]
 [0.242 0.143 0.102 0.702 0.427]
 [0.137 0.348 0.493 0.959 0.658]
 [0.158 0.023 0.267 0.469 0.352]]

然后当我再次加载它时,我只得到零:

db2 = np.memmap('/content/drive/My Drive/Share/DBs/test.npy', mode='r', shape = (5,5))
print(db2)

Output:
[[0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]]

出于某种原因,它没有保存随机数?我正在使用 Google Colab。

我更改了这一行: db = np.random.uniform(size = (5,5)) 对此:db[:] = np.random.uniform(size = (5,5)) 现在它起作用了。我猜这是因为我没有向 memmap 添加数据,而是用常规的 numpy 数组完全覆盖了它?