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. _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion