El módulo filecmp compara archivos y resume diferencias entre directorios sin otra dependencia. La decisión importante es elegir si basta una firma superficial o es necesario leer el contenido.
Compara dos archivos por contenido
from filecmp import cmp
from pathlib import Path
from tempfile import TemporaryDirectory
with TemporaryDirectory() as carpeta:
izquierdo = Path(carpeta, "a.txt")
derecho = Path(carpeta, "b.txt")
izquierdo.write_text("Python\n", encoding="utf-8")
derecho.write_text("Python\n", encoding="utf-8")
assert cmp(izquierdo, derecho, shallow=False)
Interpreta los informes de dircmp
dircmp separa nombres exclusivos, archivos comunes, subdirectorios y elementos problemáticos. Sus atributos se calculan bajo demanda. No crea un diff textual ni equivale a una verificación criptográfica.
Elige el nivel de garantía
Usa shallow=False cuando debas leer el contenido. Para integridad persistente o adversarial, compara hashes adecuados y registra el algoritmo. Considera permisos, enlaces simbólicos y errores de acceso.
Sigue aprendiendo
Consulta también integridad de archivos con hashlib. La documentación oficial de Python, consultada el 22 de julio de 2026, explica caché, comparación superficial e informes de directorios.