Articles of pepinillo encurtido

Diseño de un objeto pickleable de python que describe un archivo

Me gustaría crear una clase que describa un recurso de archivo y luego declinarlo. Esta parte es sencilla. Para ser concretos, digamos que tengo una clase “A” que tiene métodos para operar en un archivo. Puedo decapar este objeto si no contiene un identificador de archivo. Quiero poder crear un identificador de archivo para acceder […]

Python: Asegurar que mi clase sea decapada solo con el último protocolo

Estoy desarrollando una clase que puede ser decapada de manera significativa solo con el protocolo 2 (y hacia arriba en Python 3). Cuando se usa un protocolo más antiguo, ocurren errores difíciles de rastrear. Quiero salvar a los usuarios de la clase un poco de dolor de depuración, por lo que quiero que la clase […]

¿Qué causa el error “_pickle.UnpicklingError: clave de carga no válida, ”.”?

Estoy tratando de almacenar 5000 elementos de datos en una matriz. Estos 5000 elementos se almacenan en un archivo existente (por lo tanto, no está vacío). Pero estoy recibiendo un error y no sé qué lo está causando. EN: def array(): name = ‘puntos.df4’ m = open(name, ‘rb’) v = []*5000 m.seek(-5000, io.SEEK_END) fp = […]

Pickle: ¿No es seguro o rápido?

Estoy trabajando a través de algunas conferencias escalofriantes ( http://scipy-lectures.github.io/intro/language/standard_library.html#pickle-easy-persistence ) y encontré esta statement sobre Pickle: Useful to store arbitrary objects to a file. Not safe or fast! ¿Qué quieren decir con esto? ¿No es seguro (de acuerdo con los documentos de Pickle) como en No deshacer los archivos de un origen desconocido o […]

¿Cuál es la diferencia entre __reduce__ y __reduce_ex__?

Entiendo que estos métodos son para decapado / despegado y no tienen relación con la función integrada de reducción, pero ¿cuál es la diferencia entre los 2 y por qué necesitamos ambos?

KeyError al intentar deshacer la lista

Tengo un archivo que contiene una lista selecta de listas de flotadores. Puedo cargar la lista sin problemas en la misma máquina que la decapé, pero cuando la probé en otra, obtuve el siguiente error: Traceback (most recent call last): File “”, line 2, in File “/usr/lib/python2.7/pickle.py”, line 1378, in load return Unpickler(file).load() File “/usr/lib/python2.7/pickle.py”, […]

¿Cómo desmarcar un objeto cuya clase existe en un espacio de nombres diferente (python)?

Si tengo un script que define una clase: script = “”” class myClass: def __init__(self): self.name = ‘apple’ self.color = ‘green’ “”” y luego ejecute este script en su propio espacio de nombres dict: NS = {} exec script in NS y luego crear una instancia de la clase y declinarla: a = NS[‘myClass’]() import […]

script de Python para encurtir todo el entorno

Estoy trabajando dentro de Python REPL y quiero guardar mi trabajo periódicamente. ¿Alguien tiene un script para volcar todas las variables que he definido? Estoy buscando algo como esto: for o in dir(): f=open(o) pickle(o_as_object, f) Esto parece algo que otras personas han hecho, así que quería preguntar antes de reinventar la rueda.

Decapado y descifrado clase definida por el usuario

Tengo una clase definida por el usuario ‘myclass’ que almaceno en el archivo con el módulo pickle , pero estoy teniendo problemas para descifrarlo. Tengo alrededor de 20 instancias distintas de la misma estructura, que guardo en archivos distintos. Cuando leo cada archivo, el código funciona en algunos archivos y no en otros, cuando recibo […]

Cómo desmarcar un archivo que se ha alojado en una URL web en python

La forma normal de encurtir y deshacer un objeto es la siguiente: Pickle un objeto: import cloudpickle as cp cp.dump(objects, open(“picklefile.pkl”, ‘wb’)) Descomprimir un objeto: (cargar el archivo encurtido): loaded_pickle_object = cp.load(open(“picklefile.pkl”, ‘rb’)) Ahora, ¿qué sucede si el objeto encurtido está alojado en un servidor, por ejemplo, una unidad de Google? No puedo desentrañar el […]