Hello everybody: I'd like to use the pickle module to save the state of an object so to be able to restore it later. The problem is that it holds a list of other objects, say numbers, and if I modify the list and restore the object, the list itself is not reverted to the saved one, but stays with one element deleted. An example session is the following:
Data is A [1, 2, 3, 4] saving a with pickle Deleting an object: del a[3] Now data is A [1, 2, 3] Oops! That was an error: can you please recover to the last saved data? A [1, 2, 3] #### I'd like to have here A[1,2,3,4]!!!!!! Is it the intended behavior for pickle? if so, are there any way to save the state of my object? Code follows ----------------------- class A(object): objects = [] ----------------------- then I run the code: --------------------------------------- import pickle from core import A a = A() for i in [1,2,3,4]: a.objects.append(i) savedData = pickle.dumps(a) print "Saved data is ",a print "Deleting an object" del a.objects[3] print a print "Oops! This was an error: can you please recover the last saved data?" print pickle.loads(savedData) -------------------------------------------- Thank you for any help! Mario -- http://mail.python.org/mailman/listinfo/python-list