我的要求是读取 gzip 压缩文件,由于这些文件很大,我想对其进行内存映射以获得 I/O 性能。
我尝试了以下代码:
import gzip
import mmap
with gzip.open("/home/test.json.gz", mode="r") as f:
with mmap.mmap(f.fileno(), length=0, access=mmap.ACCESS_READ) as f_mmap:
print(f_mmap.read())
Run Code Online (Sandbox Code Playgroud)
上面代码中的语句print打印以下一系列十六进制作为输出:
b'\x1f\x8b
Run Code Online (Sandbox Code Playgroud)
当我尝试从上面的代码中删除 时mmap,我看到了正确的预期结果。
您能否提供有关如何内存映射 gzip 压缩文件的建议?