pickle序列化

本文介绍了Python的pickle模块,通过示例展示了如何序列化Person类实例、列表和字典,以及如何从序列化文件中反序列化数据。内容包括创建Person类,定义dataList和dataDic,序列化到文件d:p.txt,多次从文件中加载和输出数据,以及将数据转换为字符串形式再读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pickle

1、定义一个Person类

class Person:
def init(self,n,a):
self.name=n
self.age=a
def show(self):
print(self.name+”_”+str(self.age))

2、定义一个dataList

dataList = [[1, 1, ‘yes’],
[1, 1, ‘yes’],
[1, 0, ‘no’],
[0, 1, ‘no’],
[0, 1, ‘no’]]

3、定义一个字典

dataDic = { 0: [1, 2, 3, 4],
1: (‘a’, ‘b’),
2: {‘c’:’yes’,’d’:’no’}}

4、定义一个Person并赋值

aa = Person(“JGood”, 2)
aa.show()

5、使用dump()将数据序列化到文件中

f=open(‘d:\p.txt’,’wb’)
pickle.dump(aa,f,0)
pickle.dump(dataList,f,0)
pickle.dump(dataDic,f,0)
f.close()

6、打开文件,输出文件第1次装入的内容

del Person

f=open(‘d:\p.txt’,’rb’)
bb1=pickle.load(f)
print(“序列化后的值1为:”,bb1)

7、打开文件,输出文件第2次装入的内容

bb2=pickle.load(f)
print(“序列化后的值2为:”,bb2)

8、打开文件,输出文件第3次装入的内容

bb3=pickle.load(f)
print(“序列化后的值3为:”,bb3)
f.close()

9、将dataList对象序列化为string形式,并读出

p1=pickle.dumps(dataList)
print(“pickle.loads(p1):”,pickle.loads(p1))

10、将dataDic对象序列化为string形式,并读出

p2=pickle.dumps(dataDic)
print(“pickle.loads(p2):”,pickle.loads(p2))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值