Python基础之永久存储-序列化

什么是序列化?
序列化是指把变量值存在文件里保存,再从文件里取出来(反序列化)的过程。
为什么要序列化呢?
因为我们平时写的程序中的变量都是存在内存中,一旦程序结束,变量所占用的内存就会被操作系统回收,序列化就是把这些需要的变量变成可存储的过程。
通过pickle.dump()实现序列化,pickle.load()实现反序列化

序列化一个变量:

import pickle as p
#将变量存储到shoplist.data文件中
shoplistfile = 'd:\\shoplist.data'
shoplist = ['apple', 'mango', 'carrot']
#以二进制形式将变量写入文件中
f = open(shoplistfile, 'wb')
p.dump(shoplist, f) 
f.close()
#删掉这个变量
del shoplist
#从存储的文件中读取变量
f = open(shoplistfile,'rb')
storedlist = p.load(f)
print ('从文件读取的列表对象:',storedlist)

在这里插入图片描述
序列化多个变量

import pickle as p
shoplistfile = 'd:\\shoplist.data'
shoplist1 = ['apple', 'mango', 'carrot']
shoplist2 = ['cat','dog','monkey']
f = open(shoplistfile, 'wb')
p.dump(shoplist1, f)
p.dump(shoplist2, f)
f.close()
del shoplist1
del shoplist2
f = open(shoplistfile,'rb')
storedlist1 = p.load(f)
storedlist2 = p.load(f)
print ('从文件读取的列表对象1:',storedlist1)
print ('从文件读取的列表对象2:',storedlist2)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值