Python shelve 模块

使用json或者pickle持久化数据,能dump多次,但load的话只能取到最新的dump,
因为先前的数据已经被后面dump的数据覆盖掉了。
如果想要实现dump多次不被覆盖,就可以想到使用shelve模块。
shelve模块可以持久化所有pickle所支持的数据类型。

写入:

import shelve

d = shelve.open('shelve_test')            # 打开一个文件

info = {'age': 18, 'blog': 'https://www.cnblogs.com/dbf-'}
name = ['d', 'b', 'f', '-']

d['name'] = name                # name的key为‘name’
d['info'] = info                # info的key为‘info’
d.close()

读出:

import shelve

d = shelve.open('shelve_test')

for k, v in d.items():
    print(k, v)             # 全部读出
print('
')
print(d.get('info'))        # 读一项

输出结果:

name ['d', 'b', 'f', '-']
info {'blog': 'https://www.cnblogs.com/dbf-', 'age': 18}


{'blog': 'https://www.cnblogs.com/dbf-', 'age': 18}

原文地址:https://www.cnblogs.com/dbf-/p/10577773.html