python的学习笔记(1)之json序列化的使用(2)

除了上面说的json方法外,还有一个模块pickle,他只能在python中使用,他可以序列化几乎所有数据类型,字典、字符串、集合、类等等……,pickle序列化后的内容可读性较差.

他提供了两个方法:

pickle.dumps():编码

pickle.loads():解码

使用方式和json类似,下面是两个实例分别演示他们的使用方法:

1.将一个包含着函数的字典序列化成二进制形式。

 1 #coding=utf-8
 2 
 3 import pickle
 4 
 5 def getdange():
 6     print("this is getdange!!")
 7 
 8 info ={
 9     'name':"qiyue",
10     'age':19,
11     'address':'ChangAnQu',
12     'func':getdange
13 }
14 def dumps():
15     with open("dict.txt", "wb", ) as f:
16         data = pickle.dumps(info)
17         f.write(data)

2.将序列化后的数据还原出来。

 1 #coding=utf-8
 2 
 3 import pickle
 4 
 5 def getdange():
 6     print("this is getdange!!")
 7 
 8 info ={
 9     'name':"qiyue",
10     'age':19,
11     'address':'ChangAnQu',
12     'func':getdange
13 }
14 
15 def loads():
16     with open("dict.txt", "rb",) as f:
17         data=pickle.loads(f.read())
18         print(data['func']())

还原后的执行结果:

this is getdange!!
None
原文地址:https://www.cnblogs.com/qybk/p/8706433.html