From: <bc...@wo...> - 2001-01-25 11:17:26
|
[Donatas Simkunas] >Is there ability using jython and pickle save objects which classes is java >classes ? No (as you have dicovered yourself). >for example: > >>>> import cPickle >>>> from java.awt import Rectangle >>>> r=Rectangle(1,1,200,300) >>>> f=open("fileout","w") >>>> cPickle.dump(r,f) >Traceback (innermost last): > File "<console>", line 1, in ? >PicklingError: Unable to pickle java objects. > >>>> import pickle >>>> pickle.dump(r,f) >Traceback (innermost last): > File "<console>", line 1, in ? > File "/home/donce/jython-2.0/Lib/pickle.py", line 888, in dump > File "/home/donce/jython-2.0/Lib/pickle.py", line 100, in dump > File "/home/donce/jython-2.0/Lib/pickle.py", line 202, in save > File "/home/donce/jython-2.0/Lib/pickle.py", line 421, in save_inst >AttributeError: class 'java.awt.Rectangle' has no attribute '__module__' >>> > >Is there something what i missed ? > >Workaround for this is to use java objects serialization, but if i use python >there should be ability to use python serialization. I suppose it is possible to extend the pickle protocol to contain tags for serialized java objects and to use the pickle.memo table to detect and resolve circular graphs amoung the javaobject, but it is not something I will add. Patches will be accepted. regards, finn |