import pickle
# define any Python data structure including lists, sets, tuples, dicts, etc.
l =list(range(10000))# save it to a filewithopen("list.pickle","wb")asfile:
pickle.dump(l,file)# load it againwithopen("list.pickle","rb")asfile:
unpickled_l = pickle.load(file)print("unpickled_l == l: ", unpickled_l == l)print("unpickled l is l: ", unpickled_l is l)
save_defined_objects.py
import pickle
classPerson:def__init__(self, first_name, last_name, age, gender):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.gender = gender
def__str__(self):returnf"<Person name={self.first_name}{self.last_name}, age={self.age}, gender={self.gender}>"
p = Person("John","Doe",99,"Male")# save the objectwithopen("person.pickle","wb")asfile:
pickle.dump(p,file)# load the objectwithopen("person.pickle","rb")asfile:
p2 = pickle.load(file)print(p)print(p2)
save_dumps.py
import pickle
classPerson:def__init__(self, first_name, last_name, age, gender):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.gender = gender
def__str__(self):returnf"<Person name={self.first_name}{self.last_name}, age={self.age}, gender={self.gender}>"
p = Person("John","Doe",99,"Male")# get the dumped bytes
dumped_p = pickle.dumps(p)print(dumped_p)# write them to a filewithopen("person.pickle","wb")asfile:file.write(dumped_p)# load itwithopen("person.pickle","rb")asfile:
p2 = pickle.loads(file.read())print(p)print(p2)