首页  >  文章  >  后端开发  >  Python之pickle: Pickle your data

Python之pickle: Pickle your data

高洛峰
高洛峰原创
2016-12-16 11:52:381212浏览

1.什么是Pickle?Pickle的优点是?

Python提供了一个名为Pickle的标准模块。这是一个令人赞叹的模块,几乎可以把任何Python对象(甚至是一些Python代码块(form)!)表达为为字符串,这一过程称之为封装(pickling)。从字符串表达出重新构造对象称之为拆封(unpickling)。封装状态中的对象可以存储在文件或对象中,也可以通过网络在远程的机器之间传输。

 

Pickle模块会创建一个Python语言专用的二进制格式,而不需要把他们转化为字符串,也不用底层的文件访问操作把它们写入到一个二进制文件里,你基本上不用考虑任何文件细节。

 

2.Pickle的主要函数

 

Pickle模块中的两个主要函数是dump()和load()。

dump()函数把数据对象以特定的格式保存到给定的文件中。

load()函数从文件中取出已保存的对象时,pickle知道如何恢复这些对象到它们本来的格式。

dumps()函数执行和dump() 函数相同的序列化。取代接受流对象并将序列化后的数据保存到磁盘文件,这个函数简单的返回序列化的数据。
loads()函数执行和load() 函数一样的反序列化。取代接受一个流对象并去文件读取序列化后的数据,它接受包含序列化后的数据的str对象, 直接返回的对象。

cPickle是pickle得一个更快得C语言编译版本。
pickle和cPickle相当于java的序列化和反序列化操作

 

3.Pickle的使用方法

import pickle

 

with open('mydata.pickle','wb') as mysavedata:
 pickle.dump({'alice':0,'clio':8},mysavedata)

 

with open('mydata.pickle','rb') as myrestoredata:
 a_dict = pickle.load(myrestoredata)

 

print a_dict

结果:
{'clio': 8, 'alice': 0}




更多Python之pickle: Pickle your data相关文章请关注PHP中文网!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn