python 5-4 如何将文件映射到内存
解决方案
使用标准库中mmap模块的mmap函数,它需要一个打开文件描述符作为参数
Unix: mmap(fileno, length[, flags[, prot[, access[, offset]]]])
#文件描述符获取方法
1.os.open()
2.f=open("test.txt",20) f.fileno ==>获得文件描述符
使用dd 创建大小为1M的文件
dd if=/dev/zero of=test.bin bs=1024 count=1024
od -x test.bin
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
4000000
import os
import mmap
f=open("test.bin","r+b")
m=mmap.mmap(f.fileno(),0,access=mmap.ACCESS_WRITE)
m[0]='\x88'
m[4:8]='\xad'*4
m2=mmap.mmap(f.fileno(),mmap.PAGESIZE