除了上面说的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