mmap expõe o conteúdo de um arquivo como uma sequência mutável ou somente leitura de bytes. O sistema operacional carrega páginas sob demanda, o que favorece busca e acesso aleatório em arquivos grandes.
from mmap import ACCESS_READ, mmap
with open("events.log", "rb") as file:
with mmap(file.fileno(), length=0, access=ACCESS_READ) as data:
position = data.find(b"ERROR")
if position != -1:
print(data[position:position + 80])
Como usar com segurança
Abra o arquivo no modo compatível e feche o mapping antes do descritor. Não presuma que mapear sempre acelera: leitura sequencial com buffer pode ser mais simples. Arquivos vazios, truncamento concorrente e diferenças entre Windows e Unix exigem testes.
Para aprofundar a base, consulte guia de collections em Python e guia de type hints.
A documentação oficial do Python, consultada em 22 de julho de 2026, descreve a API, os casos-limite e a compatibilidade entre versões.