Serialización de objetos con Pickle

Los objetos se pueden serializar: almacenar en un formato para su uso posterior. Una vez que se serializa un objeto, se puede almacenar en un archivo y cargar desde un archivo.

El módulo pickle se puede utilizar para la serialización de objetos.

Crear y volcar un objeto

Comenzamos creando una clase y un objeto. Luego usamos el módulo dumps() con como parámetro el objeto. Simplemente podemos imprimir la salida serializada, porque ¿por qué no?

import pickle

class A:
    def __init__(self):
        self.name = 'A'
        self.type = 'class'

obj = A()
dump = pickle.dumps(obj)
print(dump)

Almacenar y cargar objetos desde un archivo

Más práctico es almacenar el objeto serializado en un archivo. Luego podemos recargarlo desde ese archivo en cualquier momento. Para almacenar un objeto serializado en un archivo:

import pickle

class A:
    def __init__(self):
        self.name = 'A'
        self.type = 'class'

obj = A()
print(obj.name)
print(obj.type)

bin_file = open('dump.bin',mode='wb')
dump = pickle.dump(obj, bin_file)
bin_file.close()

Luego, el objeto se puede cargar desde el archivo. Esto se puede hacer en cualquier momento o incluso desde otro programa.

import pickle

class A:
    def __init__(self):
        self.name = 'A'
        self.type = 'class'

with open('dump.bin') as f:
    obj = pickle.load(f)
    print(obj.name)
    print(obj.type)

Aquí tienes mas publicaciones sobre programación orientada a objetos python principiantes:

Los objetos pueden llamar a métodos en python, que son métodos definidos en clases. Los métodos pueden modificar todas las ...
La herencia es uno de los conceptos clave de la programación orientada a objetos (POO). Los objetos se crean usando ...
En Python, una clase puede heredar de más de una clase. Si una clase hereda, tiene los métodos y variables ...
Los métodos de clase en python se pueden anular. Vamos a crear una clase padre y una clase. La clase ...
La recolección de basura es un término utilizado en la programación orientada a objetos no es exclusivo de python. Cuando ...
Una Clase, en Programación Orientada a Objetos, puede tener atributos (a veces llamados variables o atributos). Los objetos creados a ...

¿ Te sirvió este artículo Serialización de objetos con Pickle?
⬇️ Si compartes esta entrada otras personas podrán aprender.⬇️