Ir al contenido principal

Serialización con python y "pickle".

Hola, mi nombre es Antonio Alfonso Martínez y en el presente artículo voy a hablar acerca del proceso de serialización en python, mediante el cual, podemos almacenar una lista, diccionario o colección de elementos, en un fichero externo, el cual, quedará desde entonces, almacenado de modo permanente en la memoria de nuestro ordenador. Se trata de una utilidad de gran ayuda en aquellos casos en  los que queremos copiar, alguna información generada con python de modo permanente en el ordenador u otro dispositivo externo.

Para tal fin, haremos uso del módulo "pickle" de python, el cual, tendremos, primeramente que importar para su empleo:

pic2

Hecho esto, procederemos a definir la información que vamos a guardar de modo permanente (en nuestro ejemplo, guardaremos una lista de palabras, a la que llamaremos "elementos"):

pic3

Acto seguido, crearemos el fichero en el que vamos a guardar la lista creada (lista "elementos"). Lo haremos mediante una nueva variable a la que daremos el nombre de "nuevo_archivo" que será igual a la aplicación de la función "open" que tomará como argumentos, el nombre de la lista creada "elementos" y los caracteres "wb", mediante los cuales indicaremos que estamos llevando a cabo una acción de escritura en disco:

pic4

Tras ello, haremos uso de "pickle.dump" para guardar el nuevo contenido en nuestra computadora, tomando como argumentos el nombre de la lista a guardar ("elementos") y el nombre del fichero ("nuevo_archivo"):

pic5

Finalmente, cerraremos el fichero introduciendo su nombre seguido de ".close()":

pic6

Y con ello tendríamos creado nuestro nuevo fichero. De modo que si ahora nos dirigimos a nuestra carpeta python, veremos que ha aparecido un nuevo archivo con el nombre que nosotros le habíamos  dado (en nuestro caso "elementos"):

pic7

Hasta aquí, hemos visto el modo de crear un nuevo fichero de almacenamiento permanente. A continuación vamos a ver la forma en la que podemos verlo, una vez creado, para poder trabajar con el.

Este segundo proceso es aún más sencillo que el anterior. Así (como hacíamos en el caso anterior) empezaremos importando el módulo "pickle". Tras lo cual, crearemos una variable (en este caso, de nombre "contenido") que será igual a la aplicación de la función "pickle.load" (para cargar un fichero creado) mediante la que daremos la instrucción de abrir ("open") la lista creada ("elementos") en modo lectura ("rb"):

pic8

Una vez hecho ello, daremos la orden de visualizar el "contenido" mediante la correspondiente instrucción "print", tal y como se aprecia en la imagen.

Este proceso puede automatizarse mediante ka creación de un gestor de ficheros de tal naturaleza ("pickle_gestor") que podéis ver en el siguiente enlace de Github:

https://github.com/antonioam82/herramientas

Saludos.









Comentarios

Entradas más populares de este blog

Calculando el factorial de un número (ejemplo de función recursiva).

Hola, mi nombre es Antonio Alfonso Martínez y en el presente artículo me dispongo a explicar un sencillo método para calcular el factorial de un número haciendo uso del concepto de recursividad. Para empezar, diremos que el factorial de un número natural "n" es el resultado del producto de todos los números desde 1 hasta dicho número "n". Así, para efectuar el calculo del factorial de un número, vamos a emplear una sencilla función a la que daremos el nombre de "factorial". De modo, que, partiendo del hecho de que el factorial de 1 y 0 es 1, construiremos nuestra función (a la que daremos el nombre de "factorial") para realizar el calculo del factorial de 5: Lo que hace esta función, es tomar como argumento un número "n". de modo que si este es 0 o 1 ("if n==0 or n==1:") la función devolverá directamente como resultado el número 1 ("resultado=1"). Sin embargo si dicho número "n" es mayor que...

Ejercicios de Programación en Java: Condicionales, Bucles, Tablas y Funciones

PRÓLOGO El libro Ejercicios de Programación en Java: Condicionales, Bucles, Tablas y Funciones nace como fruto de años de docencia en materias relacionadas: Algorítmica, Programación, Lenguaje C y Java, entre otros.  Con el paso del tiempo he constatado que aprender un lenguaje de programación es relativamente sencillo y sobre este tema existen muchos y muy buenos textos. Pero aprender a programar es algo totalmente distinto, que necesita de un mayor esfuerzo y abordar el problema desde otra perspectiva. Siempre utilizo la metáfora del pianista para explicar el tándem programar/lenguaje de programación: saber tocar las notas de un piano es relativamente fácil, tan solo debemos anotar en cada una de las teclas a qué nota musical corresponde. Esto sería similar a conocer un lenguaje de programación. Es muy sencillo utilizar un if o entender la mecánica de un while .  Volviendo al piano: una vez que dominamos la relación tecla/nota, un pianista debe aprender muchas ot...

Trabajando con matrices (calculadora de matrices con "numpy").

En el presente artículo vamos a ver un rápido y sencillo para realizar  operaciones con matrices. Para lo cual haremos uso del módulo "numpy" el cual, nos permite realizar operaciones de forma sencilla y eficiente sobre grandes conjuntos de información que puede organizarse en vectores. Puesto que vamos a trabajar con "numpy", si lo tenemos ya instalado, lo primero que haremos será importarlo. En caso de que no lo tengamos aún instalado tendremos que hacer uso de "pip" para su instalación: Instalación de "numpy" mediante "pip": Importación de "numpy" como "np": Para crear matrices, tenemos que crear primero la matriz con las dimensiones deseadas, para luego asignarles los valores mediante un ciclo "for". Con "numpy" solo tendremos que crear dos arrays con tantos vectores como filas queramos que tenga nuestra matriz (a su  vez, cada uno de esos vectores tendrá tantos elementos como ...