improve your python code(13)

来源:互联网 发布:网络gb是什么意思啊 编辑:程序博客网 时间:2024/05/24 23:15

1. 序列化操作

1.1 理解模块pickle/cPickle的优劣

import cPickle as picklemy_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特定的,不同语言之间兼容性难以保证

1.2 序列化的更好的选择:json

0 0
原创粉丝点击