Python 中有个序列化过程叫作 pickle,它能够实现任意对象与文本之间的相互转化,也可以实现任意对象与二进制之间的相互转化。也就是说,pickle 可以实现 Python 对象的存储及恢复。
pickle 模块提供了以下 4 个函数供我们使用:
- dumps():将 Python 中的对象序列化成二进制对象,并返回;
- loads():读取给定的二进制对象数据,并将其转换为 Python 对象;
- dump():将 Python 中的对象序列化成二进制对象,并写入文件;
- load():读取指定的序列化数据文件,并返回对象。
dumps() 和 loads() 是基于内存的python对象与二进制互转
dump() 和 load() 是基于文件的python对象与二进制互转
import pickle
list1 = ["A", "B", "C", "D"]
# 要以 二进制只读 模式打开
# 运行完此程序后,会在同级目录下生成list1.pkl文件
with open("list1.pkl",'wb') as f:
pickle.dump(list1, f)
# 加载,要以 二进制写 的模式
with open("./list1.pkl",'rb') as f:
l_1 = pickle.load(f)