Python标准库pickle

Python提供了一个标准库,名为pickle,它可以保存和加载几乎任何Python数据对象,包括列表。

使用pickle很简单:只需要导入所需的模块,然后使用dump()保存数据,以后某个时间使用load()恢复数据。处理数据时的唯一要求是,必须以二进制访问模式打开这些文件。

>>> import pickle
>>> with open('mydata.pickle','wb')as mysavedata:
	pickle.dump([1,2,'Three'],mysavedata)

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

	
>>> print(a_list)
[1, 2, 'Three']

“腌制”后的数据:mydata.pickle

“b”告诉Python以二进制模式打开数据文件。


腌制或者解除数据腌制时如果出了问题,pickle模块会产生一个PickleError

腌制:

try:
    with open('man_data.txt','wb') as man_file,open('woman_data.txt','wb')as woman_file:
        pickle.dump(man,man_file)
        pickle.dump(woman,woman_file)
except IOError as err:
    print('File error:'+str(err))
except pickle.PickleError as perr:
    print('Pickling error:'+str(perr))
读取(解除):

try:
    with open('man_data.txt','rb') as man_file,open('woman_data.txt','rb')as woman_file:
        new_man = pickle.load(man_file)
        new_woman = pickle.load(woman_file)
except IOError as err:
    print('File error:'+str(err))
except pickle.PickleError as perr:
    print('Pickling error:'+str(perr))

展示:

>>> nester.print_lol(new_man)
Hi.
How are you?
I'm file,too.
Thanks.
>>> nester.print_lol(new_woman)
Hi.
I'm fine,thank you.And you?
Okay.hi:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值