Модуль shelve преобразует объект в последовательность байтов, которая может быть записана в файл, а потом прочитана из файла, сохраняет объекты в базе данных, своей структурой напоминающей словарь.
>>> import shelve
>>> db = shelve.open(“filename”)
>>> db[‘key’] = obj
>>> obj = db[‘key’]
>>> db.close()
shelve.
open
(filename[, flag='c'][, protokol=None][, writeback=False])filename – файловый объект для хранения
protokol – протокол сохранения
flag (str) – режим открытия файла (r - чтение, w - чтение и запись, с - чтение и запись (+ создание), n - чтение и запись (+ создание или перезапись))
возвращает обект, БД, который похож на словарь и имеет следующие методы
shelve.
clear
()очищает БД
shelve.
close
()закрывает БД
shelve.
get
(key[, default=None])возвращает значение по ключу, если ключа нет, дефолтное значение
shelve.
items
()возвращает список кортежей, ключ и значение
Changed in version 3.x: возвращает объект итератор
shelve.
keys
()возвращает список ключей
Changed in version 3.x: возвращает объект итератор
shelve.
pop
(key[, default])Возвращает значение по ключу, удалив запись из БД.
Если ключа нет, возвращается указанное дефолтное значение.
Если ключа нет и не указано дефолтное значение, возбуждается исключение KeyError
shelve.
popitem
()Возвращает случайную пару (ключ, значение) из БД, удаляя его из БД
Если БД пустая, возбуждается исключение KeyError
shelve.
setdefault
(<Ключ>[, <Значение по умолчанию>=None])Возвращает значение по ключу, если такого ключа нет, то возвращается дефолтное значение, при этом добавив новую запись.
shelve.
update
(key=value)shelve.
update
(dict)shelve.
update
([(key, value)])shelve.
update
(((key, value), ))Обновляет БД.
shelve.
values
()возвращает список со значениями
Changed in version 3.x: возвращает объект итератор