objectif
Travailler sur des tableaux trop gros pour la RAM.
code minimal
import numpy as np
m = np.memmap("arr.mmp", dtype="float32", mode="w+", shape=(10,10))
m[:] = 1.23
m.flush()
m2 = np.memmap("arr.mmp", dtype="float32", mode="r", shape=(10,10))
print(float(m2[0,0]))
utilisation
import numpy as np
m = np.memmap("arr2.mmp", dtype="int32", mode="w+", shape=(5,))
m[:] = np.arange(5)
m.flush()
print(int(np.memmap("arr2.mmp", dtype="int32", mode="r", shape=(5,))[4]))
variante(s) utile(s)
import numpy as np, os
print(os.path.exists("arr.mmp"))
notes
- Toujours flush/fermer avant relecture dans un autre processus.