json、pickle模块

json模块

1.dumps和loads这一对dumps用于将数据结构化为str像是出储存,loads解开结果

1 import json
2 date = {'name':'Tom', 'age':18}
3 date1 = json.dumps(date)
4 date2 = json.loads(date1)
5 print(date2['age'])

结果:

18

2.dump和load这一对,dump必须传文件描述符,将序列化的str保存到文件中。load只接收文件描述符,完成了读取文件和反序列化。

1 import json
2 date = {'name':'Tom', 'age':18}
3 with open('test.txt', 'r+') as file:
4     json.dump(date, file)
5 
6 with open('test.txt', 'r+') as file:
7     print(json.load(file)['age'])

结果:

18

dumps:无文件操作            dump:序列化+写入文件

loads:无文件操作              load: 读文件+反序列化

pickle模块

 json模块和picle模块都有  dumps、dump、loads、load四种方法,而且用法一样。

不用的是json模块序列化出来的是通用格式,其它编程语言都认识,就是普通的字符串,

而picle模块序列化出来的只有python可以认识,其他编程语言不认识的,表现为乱码

不过picle可以序列化函数,但是其他文件想用该函数,在该文件中需要有该文件的定义(定义和参数必须相同,内容可以不同)

 

猜你喜欢

转载自www.cnblogs.com/hexiaoqi/p/9376653.html