dbhash — Интерфейс в стиле DBM к библиотеке баз данных BSD
Устарело начиная с версии 2.6: Модуль dbhash был удален в Python 3.
Модуль dbhash предоставляет функцию для открытия баз данных с использованием библиотеки BSD db. Этот модуль отражает интерфейс других модулей Python для баз данных, обеспечивающих доступ к базам данных в стиле DBM. Для использования модуля dbhash требуется модуль bsddb.
Этот модуль предоставляет исключение и функцию:
-
exception dbhash.error -
Исключение, генерируемое при ошибках базы данных, отличных от
KeyError. Является синонимом дляbsddb.error.
-
dbhash.open(path[, flag[, mode]]) -
Открыть базу данных
dbи вернуть объект базы данных. Аргумент path — имя файла базы данных.Аргумент flag может быть:
Значение
Описание
'r'Открыть существующую базу данных только для чтения (по умолчанию)
'w'Открыть существующую базу данных для чтения и записи
'c'Открыть базу данных для чтения и записи, создав ее, если она не существует
'n'Всегда создать новую пустую базу данных, открытую для чтения и записи
На платформах, где библиотека BSD
dbподдерживает блокировку, можно добавить'l'для указания использования блокировки.Необязательный параметр mode используется для указания битов разрешений Unix, которые должны быть установлены, если необходимо создать новую базу данных; эти биты будут замаскированы текущим значением umask процесса.
См. также
1. Объекты базы данных
Объекты базы данных, возвращаемые функцией open(), предоставляют методы, общие для всех баз данных и отображающих объектов в стиле DBM. Доступны следующие методы в дополнение к стандартным методам.
-
dbhash.first() -
Используя этот метод и метод
next(), можно перебрать все пары ключ/значение в базе данных. Обход осуществляется в порядке внутренних хеш-значений базы данных и не гарантирует сортировку по ключам. Этот метод возвращает начальный ключ.
-
dbhash.last() -
Возвращает последнюю пару ключ/значение в обходе базы данных. Это может использоваться для начала обхода в обратном порядке; см.
previous().
-
dbhash.next() -
Возвращает пару ключ/значение, следующую за текущей в обходе базы данных. Следующий код выводит каждый ключ в базе данных
db, без необходимости создавать список в памяти, содержащий все ключи:print db.first() for i in xrange(1, len(db)): print db.next()
-
dbhash.previous() -
Возвращает предыдущую пару ключ/значение в прямом обходе базы данных. В сочетании с
last()это можно использовать для реализации обхода в обратном порядке.
-
dbhash.sync() -
Этот метод заставляет записать любые незаписанные данные на диск.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/dbhash.html