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...

Sistema Hexadecimal - Sistema de numeración posicional

Sistema Hexadecimal El sistema hexadecimal es un sistema numérico que tiene como base el numero 16, y es una variante de los numero binarios El sistema hexadecimal es utilizado por nuestros ordenadores con el fin de abreviar valores de datos e instrucciones de memoria. Esta es una imagen que muestra el contenido de un archivo con exención 'dll' en un editor de texto, como el editor de texto no reconoce este tipo de archivo, nos lo muestra de esta manera: Como se puede apreciar, en vez de ver una gran cantidad de 0 y 1, vemos que hay grupos de 4 dígitos, y si observamos, vemos que son grupos de dígitos hexadecimales. El archivo cuentan con más de 48 mil lineas, por ello no se me es posible mostrarlo todo. Este es uno de los usos del sistema hexadecimal para abreviar grandes cantidades de 0 y 1. Ustedes mismos pueden hacer la prueba con una imagen o con cualquier otro tipo de texto. El sistema hexadecima, esta conformado por solo 16 dígitos. A continuación te lo...