2、反序列化:就是把在磁盘,等介质中的数据转换为对象
1、序列化并保存文件
obj = [1, 2, 3, 4]
with open('test.txt', 'wb') as f:
pickle.dump(obj, f)
with open('test.txt', 'rb') as f:
new_obj = pickle.load(f)
2、序列化成string形式
obj = [1, 2, 3, 4]
str1 = pickle.dumps(obj)
new_obj = pickle.loads(str1)
1、序列化并保存到文件:dump、load
2、序列化成json对象:dumps、loads
Pickle模块中最常用的函数为:
(1)pickle.dump(obj, file, [,protocol])
函数的功能:将obj对象序列化存入已经打开的file中。
参数讲解:
obj:想要序列化的obj对象。
file:文件名称。
protocol:序列化使用的协议。如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。
(2)pickle.load(file)
函数的功能:将file中的对象序列化读出。
参数讲解:
file:文件名称。
(3)pickle.dumps(obj[, protocol])
函数的功能:将obj对象序列化为string形式,而不是存入文件中。
参数讲解:
obj:想要序列化的obj对象。
protocal:如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。
(4)pickle.loads(string)
函数的功能:从string中读出序列化前的obj对象。