Модуль shelve из стандартной библиотекой можно описать одной фразой - "pickle + anydbm".

shelve позволяет сериализовать объект (прям как pickle), а потом сохранить его в виде похожем на БД (интерфейс anydbm).

>>> import shelve
>>> db = shelve.open(filename)
>>> db[key] = obj
>>> obj = db[key]
>>> db.close()

Как видно из небольшого примера, БД предоставляет интерфейс словаря. Это позволяет нам сохранять различные сериализуемые объекты под разными именами и хранить их в одном файле.

Описание методов в модуле можно почитать:



Комментарии