欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Python之pickle: Pickle your data

程序员文章站 2022-04-08 10:41:48
...
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中文网!

相关标签: pickle