object serialization as python scripts

J Kenneth King james at agentultra.com
Mon Nov 16 14:27:18 CET 2009

King <animator333 at gmail.com> writes:

>> Why is it easier than the above mentioned - they are *there* (except the
>> custom xml), and just can be used. What don't they do you want to do?
>> Other than that, and even security issues put aside, I don't see much
>> difference between pickle and python code, except the latter being more
>> verbose. Which suits humans, but other than that has no advantage.
>> Diez
> My application is PyQt based and objects that I am trying to save are
> couple of QGraphicsItem instances. You can't save instances of
> QGraphicsItem
> using pickle or shelve.
> Custom xml format would be a real pain as you have to write code for
> writing/reading both.
> I am aware of security issue but over all there are only 5 statements
> I have to use to get the entire
> information back. I can do syntax checking and other stuff before I
> should execute the script.
> Another reason is that data should be in human readable form.
> Prashant
> Python 2.6.2
> Win XP 32

Pickling should work just fine.  If you cannot pickle the class with the
default pickler, you can hook into the pickler protocol to tell pickle
how to pickle instances of the class.  Failing that you can write your
own pickler class for handling the special case.

Python scripts aren't really a good data format.  They're not structured
in a way that would be easy to parse and extract information from in a
non-python context without a lot of work.

More information about the Python-list mailing list