Articles of pepinillo encurtido

¿Por qué obtengo un comportamiento inesperado en Python es la instancia después del decapado?

Dejando de lado si el uso de isinstance es dañino , me he encontrado con el siguiente enigma al intentar evaluar su instancia después de serializar / deserializar un objeto a través de Pickle: from __future__ import with_statement import pickle # Simple class definition class myclass(object): def __init__(self, data): self.data = data # Create an […]

¿Puede Pickle manejar múltiples referencias de objetos?

Si tengo los objetos a y b y ambos hacen referencia al objeto obj , ¿qué sucede cuando decapo y luego restauro los objetos? ¿Sabrán los datos encurtidos que b hicieron referencia al mismo objeto y restaurarán todo en consecuencia, o los dos obtendrán dos objetos diferentes, e inicialmente iguales?

Excluir campo de objeto de decapado en python

Me gustaría evitar el decapado de ciertos campos en una instancia de una clase. Actualmente, antes de decapar, simplemente configuro esos campos como Ninguno, pero me pregunto si hay una solución más elegante.

Objetos enlazados

Quiero decapar un objeto y un segundo objeto que hace referencia al primero. Cuando decapito / despojo ingenuamente los dos objetos, la referencia se convierte en una copia. ¿Cómo puedo conservar el enlace entre los dos objetos foo y bar.foo_ref ? import pickle class Foo(object): pass foo = Foo() bar = Foo() bar.foo_ref = foo […]

Cómo evitar que los atributos se decapen en Python

Estoy usando gnosis.xml.pickle para convertir un objeto de mi propia clase a xml. El objeto se inicializa de modo que: self.logger = MyLogger() Pero cuando vuelco el objeto a una cadena, obtengo una excepción que indica que el pickler encontró un tipo ineludible (thread.lock). ¿Hay alguna forma de “etiquetar” el atributo del registrador para que […]

¿Qué significa que un objeto sea seleccionable (o capaz de decaparse)?

Los doctores de Python mencionan mucho esta palabra y quiero saber qué significa. Googlear no ayuda mucho ..

Python: ¿Cómo escribo una lista en un archivo y luego la devuelvo a la memoria (dict representado como una cadena convertida a dict) más tarde?

Dupe más específico de 875228: almacenamiento de datos simple en Python . Tengo un dict bastante grande (6 GB) y necesito procesarlo. Estoy probando varios métodos de agrupación de documentos, así que necesito tener todo en memoria al mismo tiempo. Tengo otras funciones para ejecutar en estos datos, pero los contenidos no cambiarán. Actualmente, cada […]

Cómo comprobar si un objeto es pickleable

Tengo una lista de objetos de varios tipos que quiero encurtir. Me gustaría encurtir sólo aquellos que son pickleable. ¿Hay una forma estándar de verificar si un objeto es de tipo pickleable, aparte de intentarlo? La documentación dice que si se produce una excepción de decapado, es posible que ya se haya escrito algunos de […]

¿Por qué no funcionan las salmueras binarias?

Sé que esto no es exactamente la forma en que se diseñó el módulo pickle, pero pensé que funcionaría. Estoy usando Python 3.1.2 Aquí está el código de fondo: import pickle FILEPATH=’/tmp/tempfile’ class HistoryFile(): “”” Persistent store of a history file Each line should be a separate Python object Usually, pickle is used to make […]

¿Cómo decapar y desmarcar instancias de una clase que hereda de defaultdict?

Tengo una clase que hereda de defaultdict como esto: class listdict(defaultdict): def __init__(self): defaultdict.__init__(self, list) Puedo decaparlo, pero cuando lo desencojo, esto sucede: (‘__init__() takes exactly 1 argument (2 given)’, , (,)) La clase no define ningún método especial del protocolo pickle. El decapado y descifrado de un defecto predeterminado defaultdict(list) funciona como se espera. […]