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.
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.
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.
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.
|
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.
pickle
Al trabajar con pickle
, es importante tener en cuenta:
pickle
puede ejecutar código al deserializar. Evita cargar archivos pickle
de fuentes no confiables.
pickle
pueden no ser compatibles entre diferentes versiones de Python.
Para más información, consulta la documentación oficial de pickle.
Jorge García
Fullstack developer