anydbm — Универсальный доступ к базам данных в стиле DBM
Примечание
Модуль anydbm был переименован в dbm в Python 3. Инструмент 2to3 автоматически адаптирует импорты при преобразовании ваших исходных файлов в Python 3.
anydbm — это универсальный интерфейс для вариантов баз данных DBM — dbhash (требует bsddb), gdbm или dbm. Если ни один из этих модулей не установлен, будет использована медленная, но простая реализация в модуле dumbdbm.
-
anydbm.open(filename[, flag[, mode]]) -
Открывает файл базы данных filename и возвращает соответствующий объект.
Если файл базы данных уже существует, модуль
whichdbиспользуется для определения его типа, и используется соответствующий модуль; если он не существует, используется первый из перечисленных выше модулей, который может быть импортирован.Необязательный аргумент flag должен быть одним из этих значений:
Значение
Значение
'r'Открыть существующую базу данных только для чтения (по умолчанию)
'w'Открыть существующую базу данных для чтения и записи
'c'Открыть базу данных для чтения и записи, создавая её, если она не существует
'n'Всегда создавать новую пустую базу данных, открытую для чтения и записи
Если не указано, значение по умолчанию —
'r'.Необязательный аргумент mode — это Unix-мода файла, используемый только тогда, когда база данных должна быть создана. По умолчанию он равен восьмеричному
0666(и будет изменён текущим umask).
-
exception anydbm.error -
Кортеж, содержащий исключения, которые могут быть возбуждены каждым из поддерживаемых модулей, с уникальным исключением, также имеющим имя
anydbm.error, как первый элемент — последний используется, когда возбуждаетсяanydbm.error.
Объект, возвращаемый open(), поддерживает большинство функций словарей; ключи и соответствующие значения могут быть сохранены, извлечены и удалены, и доступны методы has_key() и keys(). Ключи и значения должны всегда быть строками.
Следующий пример записывает некоторые имена хостов и соответствующее заголовок, а затем выводит содержимое базы данных:
import anydbm
# Open database, creating it if necessary.
db = anydbm.open('cache', 'c')
# Record some values
db['www.python.org'] = 'Python Website'
db['www.cnn.com'] = 'Cable News Network'
# Loop through contents. Other dictionary methods
# such as .keys(), .values() also work.
for k, v in db.iteritems():
print k, '\t', v
# Storing a non-string key or value will raise an exception (most
# likely a TypeError).
db['www.yahoo.com'] = 4
# Close when done.
db.close()
В дополнение к методам, подобным методам словарей, объекты anydbm предоставляют следующий метод:
-
anydbm.close() -
Закрыть базу данных
anydbm.
См. также
-
Moduledbhash -
Интерфейс базы данных BSD
db. -
Moduledbm -
Стандартный Unix-интерфейс базы данных.
-
Moduledumbdbm -
Переносная реализация интерфейса
dbm. -
Modulegdbm -
GNU-интерфейс базы данных, основанный на интерфейсе
dbm. -
Moduleshelve -
Общая персистентность объектов, построенная поверх Python-интерфейса
dbm. -
Modulewhichdb -
Модуль утилит, используемый для определения типа существующей базы данных.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/anydbm.html