pickle学习
https://docs.python.org/3/library/pickle.html
很多汉字是自己猜测和脑补的,方便自己忘了来看
有5种协议 0 1 2 3 4,其中3,4分别是在python 3.0,3.4中添加的,不能被python 2.x支持
使用 dump() 来序列化一个对象,使用 load() 进行解码
两个常量:
1.pickle.
HIGHEST_PROTOCOL
整数,表示可用的最高协议版本
2.pickle.
DEFAULT_PROTOCOL
整数,表示默认的协议版本
>>> import pickle
>>> pickle.HIGHEST_PROTOCOL
4
>>> pickle.DEFAULT_PROTOCOL
3
常用方法:
1.
pickle.
dump
(obj,file,protocol = None,*,fix_imports = True )
把 obj 代表的对象的pickle表示写入 file 对象代表的文件中
相当于 Pickler(file,protocol).dump(obj)
2.
pickle.
dumps
(obj,protocol = None,*,fix_imports = True )
把 obj 对象的pickle形式以 bytes 对象返回,不写入文件
3.
pickle.
load
(file,*,fix_imports = True,encoding =“ASCII”,errors =“strict” )
从 打开的 file 对象中读取pickle格式数据,并返回其中特定的对象结构
相当于 Unpickler(file).load()
4.
pickle.
loads
(bytes_object,*,fix_imports = True,encoding =“ASCII”,errors =“strict” )
从 bytes 对象中读取一个 pickle 对象结构,并返回其重组后的对象结构
两个类:
1.
pickle.
Pickler
(file,protocol = None,*,fix_imports = True )
需要一个二进制文件来读取一个pickle数据流
2.
pickle.
Unpickler
(file,*,fix_imports = True,encoding =“ASCII”,errors =“strict” )
需要一个二进制文件来写入一个pickle数据流
三个异常:
pickle.
PickleError
基类
pickle.
PicklingError
字面意思
pickle.
UnpicklingError