[Numpy-discussion] documentation suggestion
Neal Becker
ndbecker2 at gmail.com
Sat Apr 11 11:30:32 EDT 2009
numpy.ndarray says:
buffer : object exposing buffer interface, optional
Used to fill the array with data.
I found this misleading. It isn't just used to _fill_ the array - it is the
actual storage for the array. If set to an object exporting the buffer
interface, any updates to the ndarray will change the value of this object.
As an example:
from numpy import *
import eos
import mmap
import os
fd = os.open ('test.dat', os.O_RDWR|os.O_CREAT)
size = 128
os.ftruncate (fd, size)
m = mmap.mmap (fd, size, prot=mmap.PROT_READ|mmap.PROT_WRITE,
flags=mmap.MAP_SHARED)
u = ndarray (shape=(size,), dtype=uint8, buffer=m)
u[:] = 24
mmap exports buffer interface (Also not mentioned in the documentation for
mmap!). Updating the value of u (last line above) will change the file on
disk.
More information about the NumPy-Discussion
mailing list