Python之pickle标准模块

Python之pickle:

转自:http://blog.sina.com.cn/s/blog_708be8850101bb04.html


1.什么是Pickle?Pickle的优点是?
 
Python ships with a standard library called pickle, which can save and load almost any Python data object, including lists.
Once you pickle your data to a file, it is persistent and ready to be read into another program at some later data/time.
 
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}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值