play around with pickle

master
neingeist 10 years ago
parent 70ce7ab948
commit b0a1db1eed

@ -0,0 +1,30 @@
from __future__ import division, print_function
import cPickle as pickle
class SomeObject(object):
def __eq__(self, other):
"""Default __eq__ would always return False."""
return True
pass
a = (1, 2)
b = "zwei"
c = [3, 4, 5, 6]
d = c
e = SomeObject()
f = e
before_pickle = [a, b, c, d, e, f]
after_pickle = pickle.loads(pickle.dumps(before_pickle))
# should get equal objects, but not the same:
for i in range(6):
assert before_pickle[i] == after_pickle[i]
assert id(before_pickle[i]) != id(after_pickle[i])
# same objects stay the same:
assert id(after_pickle[2]) == id(after_pickle[3])
assert id(after_pickle[4]) == id(after_pickle[5])
Loading…
Cancel
Save