✨前言:
Python中的mmap模块允许你创建一个内存映射的文件,这意味着文件数据直接映射到虚拟内存。这样做的好处包括:提高文件访问速度、可通过修改内存来修改文件、可以像操作普通内存一样操作这块特殊的内存区域。
✨mmap基础
要使用mmap,需要先导入该模块
import mmap
你需要一个文件描述符(可以是一个打开的文件对象的.fileno()方法返回的,也可以是一个现有的文件描述符),使用这个文件描述符,可以创建一个mmap对象:
import mmap
# 打开文件
with open("example.dat", "r+b") as f:
# 创建内存映射
mm = mmap.mmap(f.fileno(), 0)
# 使用mmap对象...
# 完成后,解除映射
mm.close()
✨mmap常用方法
1.mmap.read(byte):读取指定数量的字节。
2.mmap.readline():读取一行。
3.mmap[:N]或mmap.read(N):读取前N个字节。
4.mmap.seek(offset):移动当前位置至指定offset。
5.mmap.tell():获取当前位置。
6.mmap.write(bytes):写入字节字符串。
7.mmap.flush():将更改写回文件中。在某些情况下是必须的,例如,当对文件内容进行更改而想将更改保存至磁盘时。
8.mmap.close():关闭内存映射文件。
✨举例说明
🌟例1:基础读写
考虑一个文件example.dat,先写入一些数据然后通过内存映射来修改它。
import mmap
with open("example.dat", "r+b") as f:
mm = mmap.mmap(f.fileno