Json & pickle序列化

本文介绍了Python中如何使用json和pickle模块实现数据的持久化存储及读取过程。通过具体示例展示了如何将字典对象序列化为JSON字符串并保存到文件中,以及如何将包含函数的对象通过pickle序列化到文件。
 1 import json
 2 
 3 
 4 #将字典以字符串形式写入文件中
 5 info = {'name':'gdr','age':22}
 6 
 7 f = open("simple.txt",'w')
 8 f.write(json.dumps(info))
 9 f.close()
10 
11 #将文件中的内容重新变为字典
12 f2 = open("simple.txt",'r')
13 data = json.loads(f2.read())
14 print(data)
15 f2.close()

########我是分割线###########

 

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

 

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

 

pickle序列化后的数据,可读性差,人一般无法识别。

 

 1 #pickle序列化
 2 import pickle
 3 def sayhi(name):
 4     print(name)
 5     return '结束'
 6 
 7 info = {'name':'gdr',
 8         'sayhi':sayhi
 9         }
10 
11 f = open("simple.txt",'wb')
12 f.write(pickle.dumps(info))   #等同于pickle.dump(info.f)
13 f.close()
14 
15 #pickle反序列化
16 
17 # def sayhi(name):
18 #     print(name)
19 
20 f2 = open("simple.txt",'rb')
21 data =pickle.loads(f2.read()) #等同于pickle.load(f2)
22 print(data['sayhi']('gdr'))
23 f2.close()

 

pickle 简单明了的例子:

1 import pickle
2 
3 a = {'name': 'gdr', 'age': 20}
4 
5 with open('pk.py','wb') as file:
6     pickle.dump(a,file)
7 
8 with open('pk.py','rb') as file:
9     print(pickle.load(file))

 

转载于:https://www.cnblogs.com/jesse-gong/p/7724539.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值