Да и нет.
Да, это зависит от dbm
и pickle
.
Разница с базами данных «dbm» заключается в том, что значения (а не ключи)!) на полке могут быть по сути произвольные объекты Python - все, что может обрабатывать модуль pickle
, модуль полки поддерживается с помощью pickle
Нет, способ использования этих модулейзависит от платформы / системы.
Выбор того, какой пакет базы данных будет использоваться (например, dbm.ndbm или dbm.gnu), зависит от того, какой интерфейс доступен. Поэтому небезопасно открывать базу данных напрямую с помощью dbm. База данных также (к сожалению) также подвержена ограничениям dbm, если она используется - это означает, что (маринованное представление) объектов, хранящихся в базе данных, должно быть довольно маленьким, и в редких случаях столкновения ключей могут привести к тому, что база данных будетотказаться от обновлений.
Подробнее в официальной документации .