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 对象,并将其打印出来。