Используйте модуль shelve
для реализации простого базового ключ-значение хранилища на основе файла. В модуле shelve
в Python предоставляются некоторые простые операции с данными. В этом модуле ключи должны быть строками, а значения могут быть любыми типами данных, поддерживаемыми Python.
Пример:
shelf['a'] = 'a'
shelf['c'] = [11, 234, 'a']
shelf['t'] = ('1', '2', '3')
shelf['d'] = {'a': '2', 'name': 'Hongte'}
shelf['b'] = 'b'
shelf['i'] = 23
Замечание:
Поскольку при каждом открытии shelve
все данные загружаются в память, а при закрытии они записываются обратно в файл и освобождаются из памяти, чтобы обеспечить синхронность базы данных, данный класс не предоставляет итератор объектов. Поэтому не рекомендуется использовать этот класс для хранения больших объемов данных, так как shelve
сам по себе не предназначен для работы с большими объемами данных.
Все параметры ключей должны быть строками; в противном случае будет выброшено исключение TypeError
.
Сохраняет данные. Если ключ не существует, он создается, если же существует — значение ключа обновляется. Таким образом, база данных не хранит повторяющиеся значения.
Удаляет данные, соответствующие данному ключу.
Удаляет все данные, то есть очищает базу данных.#### ShelveDB.fetchone(key)
Получает данные, соответствующие данному ключу.
Получает все данные из базы данных.
Получает все ключи.
Получает все значения.
Проверяет наличие данного ключа в базе данных.
Этот модуль можно использовать в средах Python 2 и Python 3. Однако база данных, созданная в Python 2, из-за различий в протоколах хранения, не может быть открыта в Python 3. Эта проблема пока не решена, но база данных, созданная в Python 3, может быть успешно использована в среде Python 2.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )