[Tutor] (no subject)
Mon, 3 Dec 2001 15:51:31 -0500 (EST)
Your example below works; but when I try something like:
john = class('john doe','123-456-6789')
jane = class('jane doe','123-456-9876')
I can pickle john, or I can pickle jane; but I don't seem to be able to
pickle both. I'm assuming to do this I need to store the data in a
dictionary (or something) and pickle the dictionary (or something).
Actually, having pondered this through three screensaver activations (or
so) it appears I would have to store the *instance* in a dictionary - not
the name or phone number; but just "john."
<addrbook.AddrBookEntry instance at 80e62b0>
But would this be valid for different sessions of Python?
- fleet -
dman <email@example.com said:
>Classes have a dictionary that only contains the methods and class
>members. Class _instances_ have a __dict__ that contains the data
>stored by the instance.
>| I was kind of hoping it would get pickled along with the rest.
>It does -- it is part of the data.
>| If it did, I have no clue how to access the data.
>The same way you always do. Here's an example (that skips the file
>read/write step) :
>class C :
>o = C()
>o.foo = "bar"
>o.spam = "eggs"
>pickled_string = pickle.dumps( o )
># normally you would write this string to a file, or a socket, or