11.8. dbm – Простой интерфейс «базы данных»¶dbm – Simple “database” interface
Примечание
Модуль dbm был переименован в dbm.ndbm в Python 3.
Инструмент 2to3 автоматически адаптирует импорты при преобразовании исходных кодов в Python 3.
Модуль dbm предоставляет интерфейс к библиотеке Unix «(n)dbm». Объекты dbm ведут себя как отображения (словари), за исключением того, что ключи и значения всегда являются строками. При выводе объекта dbm ключи и значения не печатаются, а методы items() и values() не поддерживаются.
Этот модуль можно использовать с «классическим» интерфейсом ndbm, интерфейсом совместимости BSD DB или интерфейсом совместимости GNU GDBM. В Unix сценарий configure попытается найти соответствующий заголовочный файл, чтобы упростить сборку этого модуля.
Модуль определяет следующее:
-
exception
dbm.error¶ Возникает при ошибках, специфичных для dbm, например, ошибках ввода-вывода.
KeyErrorвозникает при общих ошибках отображения, например, при указании неверного ключа.
-
dbm.library¶ Имя используемой библиотеки реализации
ndbm.
-
dbm.open(filename[, flag[, mode]])¶ Открывает базу данных dbm и возвращает объект dbm. Аргумент filename – это имя файла базы данных (без расширений
.dirили.pag; обратите внимание, что реализация интерфейса BSD DB добавляет расширение.dbи создаёт только один файл).Необязательный аргумент flag должен быть одним из следующих значений:
Значение
Значение
'r'Открыть существующую базу данных только для чтения (по умолчанию)
'w'Открыть существующую базу данных для чтения и записи
'c'Открыть базу данных для чтения и записи, создав её, если она не существует
'n'Всегда создавать новую пустую базу данных, открытую для чтения и записи
Необязательный аргумент mode – это режим файла Unix, используемый только при создании базы данных. По умолчанию это восьмеричное
0666(и будет изменено текущей umask).В дополнение к методам, похожим на словарные, объекты
dbmпредоставляют следующий метод:-
dbm.close()¶ Закрыть базу данных
dbm.
-