Ich habe folgendes gebaut, einen Hack des Pickle-Moduls für C-Typen nutzend. Doch auch hier meine übliche Frage: Geht es einfacher?
Code: Alles auswählen
def pickle_dump(obj, f, singletons=()):
singletons = dict((id(obj), str(i)) for i, obj in enumerate(singletons))
p = pickle.Pickler(f)
if singletons:
p.persistent_id = lambda obj: singletons.get(id(obj))
p.dump(obj)
def pickle_load(f, singletons=()):
p = pickle. Unpickler(f)
if singletons:
p.persistent_load = lambda pid: singletons[int(pid)]
return p.load()