内存映射

Numpy 有对内存映射的支持。

内存映射也是一种处理文件的方法,主要的函数有:

  • memmap
  • frombuffer
  • ndarray constructor

内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。

使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。

memmap

memmap(filename,
       dtype=uint8,
       mode='r+'
       offset=0
       shape=None
       order=0)

mode 表示文件被打开的类型:

  • r 只读
  • c 复制+写,但是不改变源文件
  • r+ 读写,使用 flush 方法会将更改的内容写入文件
  • w+ 写,如果存在则将数据覆盖

offset 表示从第几个位置开始。