pickle是python语言的一个标准模块,安装python后已包含pickle库,不需要单独再安装。
pickle模块实现了基本的数据序列化和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
在官方的介绍中,序列化操作的英文描述有好几个单词,如”serializing”, “pickling”, “serialization”, “marshalling”
或者”flattening”等,它们都代表的是序列化的意思。相应的,反序列化操作的英文单词也有好多个,如”de-serializing”, “unpickling”, “deserailization”
等。为了避免混淆,一般用pickling/unpickling
, 或者serialization/deserailization
。
pickle模块是以二进制的形式序列化后保存到文件中(保存文件的后缀为.pkl),不能直接打开进行预览。而python的另一个序列化标准模块json,则是human-readable的,可以直接打开查看(例如在notepad++中查看)。
pickle模块有两类主要接口,即序列化和反序列化。
pickle.dump()
Pickler(file, protocol).dump(obj)
pickle.loads()
Pickler(file, protocol).dump(obj)
import pickle
a_buffer=pickle.dumps(2)
print(type(a_buffer),a_buffer)
a=pickle.loads(a_buffer)
print(type(a),a)
# 输出
<class 'bytes'> b'\x80\x04K\x02.'
<class 'int'> 2
1、https://blog.csdn.net/chengyikang20/article/details/124396059