Nicky Mac wrote: > Dear Python team, > I have studied the excellent documentation,
That is always a laudable endeavour ;) > and attempted to make use of > pickle thus: > > filename = 'my_saved_adventure' > import pickle > class object: 'object' already is the name for a Python built-in; you should avoid redefining it. > def __init__(self,i,.........t) : > self.id = i > ..... > > class world: > def __init__(self): > self.object > > class object: As you already defined 'object' above you now have a name clash with your own stuff. I suppose that is because what you post is not your actual code. > def __init__(self,i, > > .....then Object instances of object are created ........ > > myworld = world; > myworld.Object = Object > fileobj = open(filename,'wb') > pickle.dump(myworld,fileobj); fileobj.close() > result = "saved your game to " + filename > > fileobj = open(filename,'rb') > myworld = pickle.load(fileobj); fileobj.close() > Object = myworld.Object > result = "restored your game from " + filename > > > The proecedures execute without error > but a file of only 21b is created containing " €c__main__world q . > altho there are several k of object instance data. Unfortunately I cannot tell what might have gone wrong from the outline you provide above. Can you make a smaller script that shows the same problem, and that you can post in its entirety here? Use cut and paste, do not retype! Thank you. -- https://mail.python.org/mailman/listinfo/python-list