json 和 shelve
跨平台交互用json(老版本跨平台交互XML)。json里面的字符串用双引号,不能用单引号
json把信息序列化(字典转字符串,或者字符串转字典)dump(),load(),dumps(),和loads()
存档用pickle,不能跨平台交互(python特有类型)dump(),load(),dumps(),和loads()
shelve是对pickle的更高级封装
shelve模块是一个简单的key,value将内存数据通过文件持久化的模块,可以持久化任何picklel可支持的Python数据格式。
运行后会在当前目录下生成后缀为bak、dat、dir文件。
json 和 pickle,需要先序列化保存到文件,读的时候再反序列化成 Python 对象。
如果说 Python 中的字典(dict)是保存在内存中的,那么标准库 shelve[1] 就像是保存在文件中的字典。
shelve.open(filename, flag='c', protocol=None, writeback=False)