Iyer, Prasad C wrote: >Hi, >I got a class which I need to serialize, except for couple of variable. >i.e. > >import cPickle as p >class Color: > def __init__(self): > print "hello world" > self.x=10 > self.somechar="this are the characters" >color=Color() >f=file('poem.txt', 'w') >p.dump(color, f) >f.close() > >How do I serialize the object color without serializing the x and >somechar variables? >Is there any modifier which prevents the variable from being serialized. > > You can create your own serialization process, by providing some kind of serialize() method in a base class that would dump part of the object.
Let's say, the instance __dict__ dictionnary ? this serialize method can then remove the attributes that starts with '_v_' (that's what we do in Zope to avoid pickling some attribute) > > > >Another question: > Is there a concept of private variables? > > That's a long discussion, you should look at the archives in the list. But anyway, all attributes that starts with '__' are considered private to the class. (ie: can't be reached by "instance.__attribute") even though you can find it if you dig into instance.__dict__ Regards, Tarek -- http://mail.python.org/mailman/listinfo/python-list