pickle 模块

内存中结构化的数据<---->格式ickle<--->bytes类型<--->保存到或基于网络传输

pickle模块提供的api跟json模块提供的api一样

import pickle

dic = {'name': 'alvin', 'age': 23, 'sex': 'male'}

print(type(dic))  # <class 'dict'>

# j = pickle.dumps(dic)
# print(type(j))  # <class 'bytes'>
#
# f = open('序列化对象_pickle', 'wb')  # 注意是w是写入str,wb是写入bytes,j是'bytes'
# f.write(j)  # -------------------等价于pickle.dump(dic,f)
#
# f.close()
# # -------------------------反序列化
import pickle

f = open('序列化对象_pickle', 'rb')

data = pickle.loads(f.read())  # 等价于data=pickle.load(f)

print(data['age'])

  Pickle的问题和所有其他编程语言特有的序列化问题一样,就是它只能用于Python,并且可能不同版本的Python彼此都不兼容,因此,只能用Pickle保存那些不重要的数据,不能成功地反序列化也没关系。

  

参考:http://www.cnblogs.com/linhaifeng/articles/6384466.html

posted @ 2018-03-12 21:03  今晚打老虎i2016  阅读(192)  评论(0编辑  收藏  举报