Pickle 的问题和所有其他编程语言特有的序列化问题一样, 就是它只能用于 Python, 并且可能不同版本的 Python 彼此都不兼容, 因此, 只能用 Pickle 保存那些不重要的数据, 不能成功地反序列化也没关系.
- #---------------------------- 序列化
- 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'])
来源: http://www.bubuko.com/infodetail-2579513.html