Python 对象持久化:使用 Pickle 模块保存和加载数据
Python 中可以使用 pickle 模块进行对象的持久化操作。pickle 模块提供了 dump() 和 load() 函数,可以将 Python 对象序列化为字节流并保存到文件中,以及从文件中读取字节流并反序列化为 Python 对象。
以下是一个使用 pickle 模块进行持久化的示例:
import pickle
# 定义一个对象
data = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 将对象序列化并保存到文件中
with open('data.pkl', 'wb') as file:
pickle.dump(data, file)
# 从文件中读取字节流并反序列化为对象
with open('data.pkl', 'rb') as file:
restored_data = pickle.load(file)
print(restored_data) # 输出: {'name': 'Alice', 'age': 25, 'gender': 'female'}
在上述示例中,我们首先定义了一个字典对象 data。然后,使用 pickle.dump() 函数将 data 对象序列化并保存到文件 data.pkl 中。接着,使用 pickle.load() 函数从文件中读取字节流并反序列化为对象,保存在 restored_data 变量中。最后,我们打印 restored_data,可以看到它与原始的 data 对象相同。
需要注意的是,pickle 模块将 Python 对象序列化为字节流后保存到文件中,因此文件内容是二进制的,无法直接使用文本编辑器打开。如果需要人类可读的持久化格式,可以使用 json 模块将 Python 对象转换为 JSON 字符串并保存到文件中。
原文地址: https://www.cveoy.top/t/topic/lBnc 著作权归作者所有。请勿转载和采集!