Python中的mmap模組
阿新 • • 發佈:2019-02-14
mmap是一種虛擬記憶體對映檔案的方法,即可以將一個檔案或者其它物件對映到程序的地址空間,實現檔案磁碟地址和程序虛擬地址空間中一段虛擬地址的一一對映關係。
普通檔案被對映到虛擬地址空間後,程式可以像操作記憶體一樣操作檔案,可以提高訪問效率,適合處理超大檔案
一個簡單的例子:
import mmap # write a simple example file with open("hello.txt", "wb") as f: f.write("Hello Python!\n") with open("hello.txt", "r+b") as f: # memory-map the file, size 0 means whole file mm = mmap.mmap(f.fileno(), 0) # read content via standard file methods print mm.readline() # prints "Hello Python!" # read content via slice notation print mm[:5] # prints "Hello" # update content using slice notation; # note that new content must have same size mm[6:] = " world!\n" # ... and read again using standard file methods mm.seek(0) print mm.readline() # prints "Hello world!" # close the map mm.close()