Saltar al contenido

Blog Desarrollo Python

Guía

Tu archivo .pkl guarda datos. También puede ejecutar código al abrirlo

Un ejemplo de persistencia de objetos y las comprobaciones que ayudan a recuperar la información correctamente.

Un archivo .pkl puede conservar objetos de Python para recuperarlos después. Antes de cargarlo, conviene conocer su origen y el entorno que necesita.

Qué se guarda realmente

El módulo pickle serializa objetos: convierte su representación en bytes y permite reconstruirlos. La extensión .pkl es una convención habitual, no una garantía sobre el contenido del archivo.

Puede servir para conservar un resultado intermedio propio. Para intercambiar datos entre tecnologías diferentes, evaluaría un formato más apropiado al contrato del proyecto, como JSON para estructuras sencillas.

Guardar y recuperar un objeto propio

Este ejemplo crea el archivo que después carga. Su entrada es un diccionario definido dentro del mismo programa:

from pathlib import Path
import pickle

ruta = Path("resultado.pkl")
resultado = {"procesados": 12, "pendientes": ["SOL-013"]}
with ruta.open("wb") as archivo:
    pickle.dump(resultado, archivo, protocol=pickle.HIGHEST_PROTOCOL)

# Cargar únicamente un archivo propio y de origen confiable.
with ruta.open("rb") as archivo:
    recuperado = pickle.load(archivo)
assert recuperado == resultado
print(recuperado["procesados"])

Los modos wb y rb trabajan en binario. La comprobación final verifica que el objeto recuperado coincide con el guardado en este caso pequeño.

El origen del archivo importa

Python advierte que cargar un pickle puede ejecutar código y que solo deben deserializarse datos confiables. No usaría este ejemplo para abrir archivos recibidos de desconocidos o que puedan haber sido alterados. Cambiar la extensión no vuelve seguro el contenido.

Qué revisar cuando crece el proyecto

  • Compatibilidad: versión de Python, protocolo y dependencias necesarias.
  • Estructura: campos y tipos esperados al recuperar el resultado.
  • Integridad: detectar un archivo incompleto o una escritura fallida.
  • Continuidad: conservar una referencia del proceso que lo generó.

Si el objeto incluye clases propias, su recuperación puede depender de que esas definiciones continúen disponibles. Por eso documentaría el entorno y comprobaría la recuperación antes de usar el archivo como único respaldo de información importante.

Fuentes consultadas el 4 de octubre de 2026. Los ejemplos son ilustrativos; las recomendaciones expresan una lectura profesional.

#Python #DesarrolloDeSoftware #Datos

¿Te sirvió? Compártelo LinkedIn WhatsApp

Sigamos compartiendo ideas.

Si este tema te interesa, puedes compartir una pregunta o una reflexión para continuar la conversación.

Escríbeme por WhatsApp