python模块—pickle shelve
pickle模块
pickle 和json 的作用是差不多的
import pickle d = {'name': 'alex','age':22} pk = open('data.pkl','w') print(pickle.dumps(d))
先放到内存里
结果会是16进制
然后再放到硬盘里
import pickle d = {'name': 'alex','age':22} pk = open('data.pkl','wb') pickle.dump(d,pk)
会出现这样的格式,这其实是pickle自己的格式,并不是乱码,是编辑器把他当成文本来通过utf-8翻译,但是没有翻译出来
接下来再把它读出来
import pickle f = open('data.pkl','rb') d = pickle.load(f) print(d)
json与pickle 的区别
也就是说 json不支持跨平台,但是除非能确定两个服务器用的都是python,否则一般情况用的都是json
shelve模块
考虑到json不能将多个文件dump 所以shelve是实现这个功能的,而且顺序不会乱,其实是对pickle进行了封装,相当于是python独有的,
这是f就是一个文件对象,可以查看f的各种功能
不但可以获取,还可以修改