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.