Volver a la página principal
lunes 4 noviembre 2024
19

Cómo serializar y deserializar datos con pickle en Python

La biblioteca pickle en Python permite serializar (convertir en bytes) y deserializar (restaurar a su formato original) objetos complejos, como listas, diccionarios y objetos personalizados. Esto es útil para almacenar y transferir datos de forma segura y eficiente, especialmente cuando se desea guardar el estado de un programa o compartir datos entre sistemas.

¿Qué es pickle en Python?

La biblioteca pickle es un módulo estándar en Python que permite la serialización y deserialización de objetos de Python, es decir, la conversión de estructuras de datos a un formato de bytes que puede guardarse en un archivo o enviarse por la red, y luego ser restaurado a su estado original.

Cómo usar pickle para serializar y deserializar en Python

Para usar pickle, basta con importar el módulo y emplear las funciones pickle.dump() para serializar datos y pickle.load() para deserializarlos.

Funciones principales de pickle

Función Descripción
pickle.dump(obj, file) Serializa el objeto obj y lo guarda en el archivo file en modo binario.
pickle.load(file) Carga un objeto serializado desde el archivo file y lo deserializa.
pickle.dumps(obj) Serializa el objeto obj y devuelve un bytes en lugar de guardarlo en un archivo.
pickle.loads(bytes) Deserializa un objeto desde un objeto bytes y lo devuelve en su estado original.

Ejemplo de serialización y deserialización con pickle

A continuación, un ejemplo básico de cómo serializar y deserializar un objeto con pickle.

import pickle

# Crear un diccionario de ejemplo
datos = {"nombre": "Juan", "edad": 30, "activo": True, "puntuaciones": [100, 85, 90]}

# Serializar el diccionario en un archivo
with open("datos.pickle", "wb") as archivo:
    pickle.dump(datos, archivo)

# Deserializar el diccionario desde el archivo
with open("datos.pickle", "rb") as archivo:
    datos_cargados = pickle.load(archivo)

print(datos_cargados)

Este ejemplo crea un archivo llamado datos.pickle que contiene el diccionario serializado. Al deserializarlo, obtenemos el mismo diccionario original.

Precauciones al usar pickle

Al trabajar con pickle, es importante tener en cuenta:

  • Seguridad: pickle puede ejecutar código al deserializar. Evita cargar archivos pickle de fuentes no confiables.
  • Compatibilidad: Los archivos serializados con pickle pueden no ser compatibles entre diferentes versiones de Python.

Referencia oficial

Para más información, consulta la documentación oficial de pickle.

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer