TAR reúne archivos y metadatos en un flujo; gzip u otra capa puede comprimirlo. tarfile combina ambos pasos con modos como w:gz y permite inspeccionar miembros antes de escribirlos en disco.

Ejemplo práctico

from pathlib import Path
import tarfile

Path("data").mkdir(exist_ok=True)
Path("data/result.txt").write_text("ok", encoding="utf-8")

with tarfile.open("backup.tar.gz", "w:gz") as archive:
    archive.add("data", arcname="data")

with tarfile.open("backup.tar.gz", "r:gz") as archive:
    print(archive.getnames())

TAR no es ZIP

TAR es común en copias de seguridad y distribución Unix, mientras ZIP suele ser más interoperable en escritorios. Usa arcname para controlar la estructura y no guardar rutas absolutas.

Nunca extraigas a ciegas

Los miembros pueden contener rutas ascendentes, enlaces y tipos especiales. En versiones compatibles usa el filtro de datos y, además, un directorio aislado, límites de tamaño y una política para enlaces. Usa extractfile() si solo necesitas leer un miembro.

Sigue aprendiendo

Consulta también zipfile en Python: crea y lee archivos ZIP y Pathlib Python: Guía Completa para Manipular Archivos. A documentación oficial de Python, consultada el 22 de julio de 2026, detalla la API y el comportamiento entre versiones.