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中文网!
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com