pickle y unpickle de todas las variables locales
Chema Cortes
py en ch3m4.org
Jue Feb 5 02:46:58 CET 2009
El Thursday 05 February 2009 01:09:01 Jose Caballero escribió:
> >>> import pickle
> >>> x=6
> >>> y=8
> >>> d = locals()
> >>> serialized = pickle.dumps(d)
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File
> "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/pic
>kle.py", line 1366, in dumps
>....
>> File
> "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/cop
>y_reg.py", line 69, in _reduce_ex
> TypeError: can't pickle module objects
Obviamente, no todo es "pickleable":
http://docs.python.org/library/pickle.html#what-can-be-pickled-and-unpickled
Tendrías que realizar un barrido del diccionario de variables, comprobando el
tipo (con 'isinstance'), para distinguir las variables que se puedan pasar al
pickle.
De todas formas, dudo que ésta sea una buena idea. Debes controlar mejor los
objetos que a serializar si no quieres acabar teniendo un entorno
completamente corrompido e inestable.
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.python.org/pipermail/python-es/attachments/20090205/f37fb4d8/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es