Code: Alles auswählen
import cPickle as p
class FOO(object):
#
def __new__(cls,geninfo=None,pkdatei=None):
print "\nNeues FOO: geninfo =",geninfo, "pkdatei =",pkdatei
#
if geninfo==None:
assert not pkdatei==None
speicher_eing = open(pkdatei+'.bid','rb')
self = p.load(speicher_eing)
speicher_eing.close()
else:
self = object.__new__(cls)
self.var = int(geninfo)
return self
#
def speichere(self,pkdatei="FOO"):
speicher_ausg = open(pkdatei+'.bid','wb')
p.dump(self,speicher_ausg,protocol=1) #anscheinend fehlerlos
#p.dump(self,speicher_ausg,protocol=2) #empfohlen, aber falsch
speicher_ausg.close()
#
def __str__(self): return "FOO(%i)"%self.var
foo = FOO(geninfo=42)
print "1. foo =", foo
#
foo.speichere(pkdatei="testfoo")
del foo
if 'foo' in dir(): print "2. foo =", foo
#
foo = FOO(pkdatei="testfoo")
print "3. foo =", foo