1. 序列化操作
1.1 理解模块pickle/cPickle的优劣
import cPickle as pickle
my_data = {'name':'python','type':'language'}
with open('pickle.dat','wb') as fp:
pickle.dump(my_data,fp)
"""
pickle.dump(obj,file[,protocol]
protocol:0表示ascii协议;1,2为新老二进制协议
"""
with open('pickle.dat','rb') as fp:
print(pickle.load(fp))
优点:……
缺点:
1. pickle不能保证操作的原子性
2. 存在安全问题:pickle.loads("cos\nsystem\n(Sdir'\ntR)")
3. pickle协议是python特定的,不同语言之间兼容性难以保证
本文探讨了Python中pickle模块的功能与使用方法,并对比了其与json模块的优劣。详细介绍了pickle进行序列化的基本操作流程,同时指出了pickle在安全性及跨语言兼容性上的不足,推荐使用json作为更优的序列化选择。
1177

被折叠的 条评论
为什么被折叠?



