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.