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的各种功能

 

 不但可以获取,还可以修改

 

posted @ 2018-05-08 19:19  夜猫心理委员  阅读(137)  评论(0编辑  收藏  举报