¿Te gustaría aprender Python desde cero?
Tenemos los cursos que necesitas.¡Haz clic aquí!

Los pickles de Python son la mar de útiles ya que representan un objeto Python como una cadena de bytes. Se pueden hacer multitud de cosas con dichos bytes, como por ejemplo, almacenarlos en un archivo o base de datos, o transferirlos a través de una red.

La representación “pickle” de un objeto Python, se denomina archivo pickle. El archivo pickle, por tanto, se puede utilizar para distintos propósitos, como el almacenamiento de resultados para que sea utilizado por otro programa Python, o bien para crear copias de seguridad. Para obtener el objeto original de Python, simplemente tienes que “unpicklear” esa cadena de bytes.

Los pickles de Python

Los pickles de Python son la mar de útiles ya que representan un objeto Python como una cadena de bytes. Se pueden hacer multitud de cosas con dichos bytes, como por ejemplo, almacenarlos en un archivo o base de datos, o transferirlos a través de una red.

La representación “pickle” de un objeto Python, se denomina archivo pickle. El archivo pickle, por tanto, se puede utilizar para distintos propósitos, como el almacenamiento de resultados para que sea utilizado por otro programa Python, o bien para crear copias de seguridad. Para obtener el objeto original de Python, simplemente tienes que “unpicklear” esa cadena de bytes.

Para utilizar los pickles en Python, utilizaremos el módulo Pickle. Este nos permite almacenar casi cualquier objeto Python directamente en un archivo o cadena sin necesidad de realizar ninguna conversión. Lo que el módulo pickle realiza en realidad es lo que se llama serialización de objetos, es decir, convertir objetos a y de cadenas de bytes. El objeto que va a ser pickled se serializará en un flujo de bytes, los cuales se pueden escribir en un archivo, por ejemplo, y restaurar en un punto posterior.

Instalación

El módulo Pickle viene ya incluido en la instalación de Python. Para obtener una lista de los módulos instalados, puede escribir el siguiente comando en el prompt de Python: help(‘modules’).

Así que todo lo que tienes que hacer para trabajar con el módulo Pickle es: import pickle!

Crear un archivo Pickle

A partir de esta sección, vamos a echar un vistazo a algunos ejemplos de pickling para entender mejor el concepto. Empecemos por crear un archivo pickle de un objeto. El objeto que utilizaremos será la lista de tareas que hicimos en el tutorial de listas de Python.

todo = ['write blog post', 'reply to email', 'read in a book']

Con el fin de convertir a pickle nuestro objeto de lista (todo), podemos hacer lo siguiente:

import pickle
 
todo = ['write blog post', 'reply to email', 'read in a book']
pickle_file = file('todo.pickle', 'w')
pickle.dump(todo, pickle_file)

Ten en cuenta que hemos hecho un import pickle para poder utilizar el módulo Pickle. También hemos creado un archivo pickle para almacenar el objeto que vamos a hacer pickle, es decir todo.pickle. La función dump graba una representación pickled de “todo” en el objeto de fichero pickle_file. En otras palabras, la función dump tiene dos argumentos: el objeto pickle, que es la lista de tareas y un objeto file donde queremos escribir el pickle, que es todo.pickle.

Unpickling (restaurar) los datos pickled

Digamos que nos gustaría restaurar los datos pickled (en nuestro caso, la lista de tareas). Para ello, podemos utilizar el siguiente script:

import pickle
 
pickle_file = file('todo.pickle')
todo = pickle.load(pickle_file)
print(todo)

El anterior script listará los elementos de “todo”.

['write blog post', 'reply to email', 'read in a book']

Te esperamos en los próximos artículos en donde hablaremos mas acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.

¿Te gustaría aprender Python desde cero?
Tenemos los cursos que necesitas.¡Haz clic aquí!
 
About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax
()
x
Abrir chat
¿Quieres aprender a programar?
Hola 👋,
¿Te interesa información de nuestros cursos?