[Tutor] Unpickling a Pickled Object

Learn Python learnpython@hotmail.com
Sat, 05 May 2001 13:46:24 -0000


hi jethor,

Okay according to your requirements it w'd be
a problem if init() gets called.
As someone has already posted __init__() does'nt get called
in python 2.0...it does'nt get called in Java either.

rgds,
karthik.


>From: Jethro Cramp <jsc@rock-tnsc.com>
>Reply-To: jsc@rock-tnsc.com
>To: "Learn Python" <learnpython@hotmail.com>
>CC: tutor@python.org
>Subject: Re: [Tutor] Unpickling a Pickled Object
>Date: Sat, 5 May 2001 12:21:10 -0800
>
>On Friday 04 May 2001 12:19 am, Learn Python wrote:
> > hi Jethro,
> >
> > c'd you please tell why you think the __init__ s'd'nt be called?
> > If i'm doing some initialisation in __init__
> > whch in turn will be used by other methods then the unpickling w'd'nt
> > be of much use right?
> > my code might fail bcos certain things did'nt get initialized.
> > Do we have a
> > private void readObject() java equivalent in python? which w'd
> > automatically get called when we "deserialize" the object / in this case
> > "unpickle". Then we can probably initialize some stuff there?
> >
> > karthik
> >
>Dear Karthik,
>
>As I understand it when you pickle an object you are infact saving the
>object's state. The reason I asked (and hoped that _init_ isn't called when 
>I
>unpickle an object) is that in the class I was designing I want to set an
>IsValid property to false (because when the class is instantiated it will 
>be
>in an invalid state) and a list of properties that are an invalid state. 
>When
>the object gets serialized it can either be in a valid or invalid state, 
>and
>a list of the properties that are still invalid are serialized with it.  
>When
>the object is unpickled (in my mind) it should be in the same state as when
>it was pickled. Running __init__ when it is unserialised might change that.
>I didn't want to write code in __init__ to check for validity. Not a big 
>deal
>to implement, but I am LAZY, after all ;).
>
>Sorry I don't know anything about JAVA and I'm not much of a programmer so 
>I
>can't answer your question about readObject().  Maybe someone wiser on this
>list can give you an answer
>
>Jethro

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.