La serialización en Python se puede realizar con varias bibliotecas, pero la más común es `pickle`.
El proceso de serialización implica transformar objetos de python como listas, diccionarios, clases, etc. en una secuencia de bytes, o un flujo de bytes, que se puede volver a convertir (deserializar) nuevamente al tipo original.
Aquí se muestra cómo puede serializar y deserializar un objeto simple en python usando `pickle`:
```python
import pickle
- Crear un objeto de python para ser serializado
data = {
‘name’: ‘John’,
‘age’: 30,
‘pets’: [‘cat’, ‘dog’]
}
- Serializar el objeto
- Nota: `pickle.dumps` serializa el objeto al flujo de bytes
serial_data = pickle.dumps(data)
print(‘Serialized data:’, serial_data)
- Deserializar el objeto
- Nota: `pickle.loads` deserializa el flujo de bytes al objeto original
deserial_data = pickle.loads(serial_data)
print(‘Deserialized data:’, deserial_data)
```
Puedes Serializar los datos en un archivo:
```python
import pickle
- Crear un objeto de python para ser serializado
data = {
‘name’: ‘John’,
‘age’: 30,
‘pets’: [‘cat’, ‘dog’]
}
- Serializar el objeto y escribirlo en un archivo
- Nota: `pickle.dump` serializa el objeto al archivo de flujo de bytes
with open(‘data.pickle’, ‘wb’) as file:
pickle.dump(data, file)
- Leer el archivo y deserializar el objeto
- Nota: `pickle.load` deserializa el flujo de bytes al objeto original
with open(‘data.pickle’, ‘rb’) as file:
deserial_data = pickle.load(file)
print(‘Deserialized data:’, deserial_data)
```
Debes tener cuidado al deserializar objetos de fuentes no confiables, ya que pueden conducir a la ejecución de código arbitrario.