Numpy中的ndarray
是一種新形式的Python內建類型。所以,它能夠在須要時被繼承。ndarray造成了許多有用類的基礎。
np.memmap就是其中一種,它是內存映射文件。本質上就是使用C語言中的fseek隨機訪問文件的任何一個位置執行讀寫操做。當一個特別大的數組沒法常駐內存時,np.memmap很是有用。html
參數類型:python
memmap默認的文件打開方式是r+。數組
import numpy as np a = np.random.randint(0, 10, (3, 4), dtype=np.int32) print(a) a.tofile("haha.bin") b = np.memmap("haha.bin", dtype=np.int32, shape=(3, 4)) print(b) b[0, 0] = 100 del b # 關閉文件,自動調用數組的finalize函數 b = np.memmap("haha.bin", dtype=np.int32, shape=(3, 4)) print(b)
輸出爲:dom
[[7 7 7 3] [9 3 7 9] [0 7 8 8]] [[7 7 7 3] [9 3 7 9] [0 7 8 8]] [[100 7 7 3] [ 9 3 7 9] [ 0 7 8 8]]
https://docs.scipy.org/doc/numpy/reference/arrays.classes.html函數