In this shot, we will discuss pickling and unpickling in Python.
Pickle
is a module in Python that is primarily used to serialize and de-serialize a Python object structure. Both pickling and unpickling become essential when we have to transfer Python objects from one system to another.
Pickling is a process by which the object structure in Python is serialized. A Python object is converted into a byte stream when it undergoes pickling.
Unpickling is a process by which original Python objects are retrieved from the stored string representation i.e., from the pickle file. It converts the byte stream into a Python object.
To understand this better let’s look at the code snippet below.
import pickle my_list = {15, 'Python', 'Hello World'} # Pickling with open("data.pickle","wb") as file_handle: pickle.dump(my_list, file_handle, pickle.HIGHEST_PROTOCOL) # Unpickling with open("data.pickle","rb") as file_handle: retrieved_data = pickle.load(file_handle) print(retrieved_data)
In line 1, we import the pickle
module in Python.
In line 2, a demo Python list is created which will be pickled.
In lines 4 and 5, pickling is done. A .pickle
file is created and the Python object (here demo Python list) is dumped.
In lines 7 to 9, we have unpickled the pickled file which thereby gives the demo Python list that was created as an output.
Note :
- The
dump()
function is used to serialize an object hierarchy.pickle.HIGHEST_PROTOCOL
is an integer value that represents the highest available protocol version.- The
load()
function is used to de-serialize a data stream.
In this way, we can use pickling and unpickling in Python. It is a tool of immense importance when we want to preserve our work for later use, especially due to the fact that it can serialize almost any Python object without any boilerplate.
RELATED TAGS
CONTRIBUTOR
View all Courses