dump
和 load
函數是 Python 中用于序列化和反序列化對象的兩個重要函數。它們通常與 Python 的標準庫模塊 pickle
一起使用。這兩個函數的關系是:
dump
函數:將 Python 對象序列化(轉換)為字節流(二進制形式),以便在網絡上傳輸或將其保存到文件中。這樣,你可以在不同的 Python 解釋器之間共享數據。
load
函數:從字節流(二進制形式)中反序列化 Python 對象。這意味著你可以從先前使用 dump
函數序列化的數據中恢復原始 Python 對象。
這兩個函數通常一起使用,例如:
import pickle
# 創建一個 Python 對象
data = {"name": "John", "age": 30, "city": "New York"}
# 使用 dump 函數將對象序列化為字節流并保存到文件中
with open("data.pkl", "wb") as file:
pickle.dump(data, file)
# 使用 load 函數從文件中的字節流反序列化 Python 對象
with open("data.pkl", "rb") as file:
loaded_data = pickle.load(file)
print(loaded_data)
在這個示例中,我們首先使用 dump
函數將字典對象序列化為字節流并將其保存到名為 data.pkl
的文件中。然后,我們使用 load
函數從文件中的字節流反序列化 Python 對象,并將其打印出來。