21-json pickle shelve XML

我们把对象从内存中变成可存储或传输的过程称之为序列化 在python中叫picking 在其他语言中也被称之为

serialization marshalling flattening等等

序列化之后  就可以把序列化后的内容写入磁盘 或者通过网络传输到别的机器上

反过来  把变量内容从序列化的对象重新读到内存里称之为反序列化  即unpicking

import pickle

pickle.dumps()  可以序列化一个函数或者类  假如文件移植了,则序列化的函数或类 都必须的存在 才能反序列化正确

pickle.loads  反序列化

json:

如果我们要在不同的编程语言之间传递对象 就必须把对象序列化为标准格式  比如xml

但更好的方式是序列化为json' 因为json表示出来就是一个字符串,可以被所有语言读取 也可以方便地

存储到磁盘或者通过网络传输。json不仅是标准格式 比xml快 而且可以直接在web页面读取  非常方便

import json

dumps   loads

dump  dump(dic,f) 等价于    data=json.dumps(dic)  f.write(data)

load    load(f)  等价于  data=f.read()  data=json.loads(data)

JSON类型Python类型
{} dict
[] list
"string" str
1234.56 int或float
true/false True/False
null None

shelve模块

shelve模块比pickle模块简单  只有一个open函数 返回类似字典的对象  可读可写:  key必须为字符串 而值可以是python所支持的数据类型

f=shele.open('SHELVE_TEXT')

f['info']={'name':zhw,'age':'24'}

data=f.get('info')

data=f[info]

 

XML模块

 

posted on 2019-04-15 09:28  Zhw_forever  阅读(73)  评论(0编辑  收藏  举报