El modulo pickle es el proceso mediante el cual podemos convertir una serie de objetos en una secuencia de bytes, es decir, en binario, es lo que se conoce como serialización, y, deserializar es la operación inversa, donde un objeto binario es convertido a una jerarquía de objetos.
Vamos a hacer uso del método dump, que retorna un objeto como binario (bytes).
Importamos la biblioteca pickle.
Creamos una lista con diferentes nombres.
Ponemos la siguiente línea:
¿Qué quiere decir?
La sentencia with se utiliza para abrir el archivo en modo de escritura binario ('wb') y asignarlo a la variable f, en fila_nombres quedan almacenados los nombres.
Vamos a serializar, para ello, ponemos pickle.dump, abrimos paréntesis, entre comillas dobles, ponemos nombres, ponemos coma, y, la variable creada, vamos a serializar nombres, y, guardarlo en el archivo d.
Por último, cerramos.
Vamos a crear un archivo de texto llamado fila_nombres, donde va a contener los nombres en binario.
Pulsamos F5, y no pasa nada, abrimos el archivo fila_nombres, y, vemos que es código no legible.
Ahora, vamos a deserializar.
Para ello, volvemos a abrir el archivo con with y en modo “rb”, que quiere decir lectura binaria.
Creamos una variable, usamos pickle.load, entre paréntesis, ponemos la variable “f”.
En la siguiente línea, imprimimos la variable creada.
Pulsamos F5 y nos devuelve la lista de nombres.
Vamos a añadir la siguiente línea usando type.
Pulsamos F5, y, nos devuelve que es una lista.
Ahora tenemos los dos módulos siguientes:
Vamos a serializar ambos módulos.
Creamos una instancia, igualamos al modulo de multiplicar y pasamos los argumentos para los parámetros.
Creamos otra instancia, igualamos al módulo de dividir y pasamos los argumentos para los parámetros.
Creamos otra instancia, abrimos corchetes, ponemos la primera instancia, coma, ponemos la segunda instancia, es decir, vamos a crear una lista con los resultados de multiplicar y dividir.
Los módulos de serializar y deserializar son los mismos que para el ejemplo anterior, lo único que tenemos que cambiar es dentro de dump, nombres por a3.
Pulsamos F5 y obtenemos el resultado en una lista de la multiplicación y la división.
Miguel Angel Franco
Comentarios