linecache recupera uma linha específica sem exigir que o chamador gerencie a leitura repetida do arquivo. O módulo sustenta partes de traceback e ferramentas que mostram contexto de código-fonte.
Recupere uma linha específica
import linecache
from pathlib import Path
from tempfile import TemporaryDirectory
with TemporaryDirectory() as folder:
path = Path(folder, "sample.py")
path.write_text("first = 1\nsecond = 2\n", encoding="utf-8")
assert linecache.getline(str(path), 2) == "second = 2\n"
linecache.clearcache()
Entenda falhas silenciosas
getline() retorna uma string vazia para linha inexistente ou erro de leitura, em vez de propagar várias exceções comuns. Se o aplicativo precisa distinguir arquivo ausente de linha inválida, valide o caminho e o intervalo separadamente.
Atualize o cache após alterações
Chame checkcache(filename) quando outro processo ou trecho do programa puder modificar o arquivo. clearcache() descarta tudo. Não use esse cache como armazenamento geral nem pressuponha conteúdo atual sem uma política de invalidação.
Continue estudando
Leia também depuração de Python com PDB. A documentação oficial do Python, consultada em 22 de julho de 2026, descreve getline, invalidação e suporte a loaders de módulos.