python pickle模块小解

pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。

pickle模块只能在Python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化。

一、pickle模块中常用的方法

    1、pickle.dump(obj, file, protocol=None,)   

        作用:序列化对象,并将结果数据流写入到文件对象中。

        必填参数obj表示将要封装的对象

        必填参数file表示obj要写入的文件对象,file必须以二进制可写模式打开,即“wb”

        可选参数protocol表示告知pickler使用的协议,支持的协议有0,1,2,3,默认的协议是添加在Python 3中的协议

    2、pickle.load(file,*,fix_imports=True, encoding="ASCII", errors="strict")

        作用:将文件中的数据解析为Python对象。

        必填参数file必须以二进制可读模式打开,即“rb”,其他都为可选参数

    3、pickle.loads(bytes_object)

        作用:从字节对象中读取被封装的对象

        bytes_object必须是字节对象

二、 pickle模块可能出现三种异常:

    1. PickleError:封装和拆封时出现的异常类,继承自Exception

    2. PicklingError: 遇到不可封装的对象时出现的异常,继承自PickleError

    3. UnPicklingError: 拆封对象过程中出现的异常,继承自PickleError

三、实例

import pickle

#准备数据
data = ['天气','心情','想法','行动','1','2','3','4']
data = {'天气':'晴','心情':'极好的','想法':'美妙的','行动':'及时的','1':'1111','2':'2222','3':'3333','4':'4444'}
data = '永远不要跟脑残的人吵架,他会把你的智商拉低到跟他一样的水平,然后用丰富的经验打败你。'

#写入数据
f_name = open('data.pkl','wb')
pickle.dump(data,f_name)
f_name.close()

#将文件中数据直接读取
r_file = open('data.pkl','rb')
r = pickle.load(r_file)
print(r)

#将数据以字节读取出来,然后使用loads从字节对象中读取被封装的对象
r_file = open('data.pkl','rb')
r = pickle.loads(r_file.read())
print(r)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值