Python Tutorial
Python Variable
Python Operators
Python Sequence
Python String
Python Flow Control
Python Functions
Python Class and Object
Python Class Members (properties and methods)
Python Exception Handling
Python Modules
Python File Operations (I/O)
The pickle
module in Python provides a way to implement persistent storage of Python objects. It allows you to serialize Python objects into a binary format, and then deserialize them back into Python objects when you need them.
pickle.dumps(obj, protocol=None, *, fix_imports=True)
This function serializes the Python object obj
into a binary format, and returns the resulting bytes object.
Example usage:
import pickle my_dict = {'a': 1, 'b': 2, 'c': 3} serialized = pickle.dumps(my_dict) print(serialized)
This code serializes a dictionary into a binary format using pickle.dumps()
, and then prints the resulting bytes object.
pickle.loads(bytes_object, *, fix_imports=True, encoding='ASCII', errors='strict')
This function deserializes a binary string created by pickle.dumps()
and returns the original Python object.
Example usage:
import pickle serialized = b'\x80\x04\x95\x15\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x01a\x94K\x01\x8c\x01b\x94K\x02\x8c\x01c\x94K\x03u.' deserialized = pickle.loads(serialized) print(deserialized)
This code deserializes a binary string created by pickle.dumps()
using pickle.loads()
, and then prints the original Python object.
pickle.dump(obj, file, protocol=None, *, fix_imports=True)
This function serializes the Python object obj
and writes the resulting binary format to a file-like object specified by the file
argument.
Example usage:
import pickle my_dict = {'a': 1, 'b': 2, 'c': 3} with open('my_dict.pkl', 'wb') as f: pickle.dump(my_dict, f)
This code serializes a dictionary into a binary format using pickle.dump()
, and writes the resulting binary format to a file named my_dict.pkl
.
pickle.load(file, *, fix_imports=True, encoding='ASCII', errors='strict')
This function deserializes a binary string created by pickle.dump()
and returns the original Python object.
Example usage:
import pickle with open('my_dict.pkl', 'rb') as f: deserialized = pickle.load(f) print(deserialized)
This code deserializes the contents of the file my_dict.pkl
using pickle.load()
, and then prints the original Python object.
Note that the pickle
module has some security concerns, as deserializing untrusted data can potentially execute arbitrary code. As a result, it is generally recommended to only use pickle
to serialize and deserialize data within trusted environments.
How to use pickle for object serialization in Python:
import pickle # Create a Python object data = {'name': 'John', 'age': 30, 'city': 'New York'} # Serialize the object to a byte stream serialized_data = pickle.dumps(data) # Deserialize the byte stream back to an object deserialized_data = pickle.loads(serialized_data)
Persistent storage with pickle in Python:
import pickle # Create a Python object data = {'name': 'John', 'age': 30, 'city': 'New York'} # Save the object to a file with open('data.pkl', 'wb') as file: pickle.dump(data, file) # Load the object from the file with open('data.pkl', 'rb') as file: loaded_data = pickle.load(file)
Saving and loading Python objects with pickle:
pickle.dump()
to save Python objects to a file and pickle.load()
to load objects back from the file.import pickle # Create a Python object data = {'name': 'John', 'age': 30, 'city': 'New York'} # Save the object to a file with open('data.pkl', 'wb') as file: pickle.dump(data, file) # Load the object from the file with open('data.pkl', 'rb') as file: loaded_data = pickle.load(file)
Serializing and deserializing data with pickle in Python:
import pickle # Serialize data to a byte stream serialized_data = pickle.dumps([1, 2, 3]) # Deserialize the byte stream back to data deserialized_data = pickle.loads(serialized_data)
Python pickle.dump() and pickle.load() examples:
pickle.dump()
is used to serialize and save objects to a file, while pickle.load()
is used to load objects from a file.import pickle # Create a Python object data = {'name': 'John', 'age': 30, 'city': 'New York'} # Save the object to a file with open('data.pkl', 'wb') as file: pickle.dump(data, file) # Load the object from the file with open('data.pkl', 'rb') as file: loaded_data = pickle.load(file)
Working with binary files and pickle in Python:
'wb'
for write, 'rb'
for read).import pickle # Save to a binary file with open('data.pkl', 'wb') as file: pickle.dump([1, 2, 3], file) # Load from a binary file with open('data.pkl', 'rb') as file: loaded_data = pickle.load(file)