Модуль shelve.
Для работы с бинарными файлами в Python может применяться еще один модуль - shelve. Он сохраняет объекты в файл с определенным ключом. Затем по этому ключу может извлечь ранее сохраненный объект из файла. Процесс работы с данными через модуль shelve напоминает работу со словарями, которые также используют ключи для сохранения и извлечения объектов.
Для открытия файла модуль shelve использует функцию open():
Где параметр flag может принимать значения, смотрим в пример:
🐍 Укус питона // 💬 Чат // #теория #файлы #бинарные
Для работы с бинарными файлами в Python может применяться еще один модуль - shelve. Он сохраняет объекты в файл с определенным ключом. Затем по этому ключу может извлечь ранее сохраненный объект из файла. Процесс работы с данными через модуль shelve напоминает работу со словарями, которые также используют ключи для сохранения и извлечения объектов.
Для открытия файла модуль shelve использует функцию open():
Где параметр flag может принимать значения, смотрим в пример:
🐍 Укус питона // 💬 Чат // #теория #файлы #бинарные
🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 23-24 апреля в 19:00 мск.
О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет.
На вебинаре вы:
☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.
Переходите по ссылке, чтобы зарегистрироваться на бесплатный практический интенсив и забрать подарки 🎁
О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет.
На вебинаре вы:
☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.
Переходите по ссылке, чтобы зарегистрироваться на бесплатный практический интенсив и забрать подарки 🎁
Что выведет этот код?
Anonymous Quiz
64%
{‘animal’: ‘horses’, ‘verb’: ‘are’, ‘adjective’: ‘fast’}
15%
(‘horses’, ‘are’, ‘fast’)
18%
‘horses are fast’
3%
‘are’
Чтение данных.
При чтении данных, если запрашиваемый ключ отсутствует, то генерируется исключение. В этом случае перед получением мы можем проверять на наличие ключа с помощью оператора in:
Также мы можем использовать метод get(). Первый параметр метода - ключ, по которому следует получить значение, а второй - значение по умолчанию, которое возвращается, если ключ не найден.
Используя цикл for, можно перебрать все значения из файла:
🐍 Укус питона // 💬 Чат // #теория #модули #shelve
При чтении данных, если запрашиваемый ключ отсутствует, то генерируется исключение. В этом случае перед получением мы можем проверять на наличие ключа с помощью оператора in:
Также мы можем использовать метод get(). Первый параметр метода - ключ, по которому следует получить значение, а второй - значение по умолчанию, которое возвращается, если ключ не найден.
Используя цикл for, можно перебрать все значения из файла:
🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Что выведет этот код?
Anonymous Quiz
25%
8
7%
16
63%
Indentation Error (Ошибка отступа)
6%
Runtime Error (Ошибка выполнения)
Удаление данных
Для удаления с одновременным получением можно использовать функцию pop(), в которую передается ключ элемента и значение по умолчанию, если ключ не найден, первый пример:
Также для удаления может применяться оператор del, второй пример:
Для удаления всех элементов можно использовать метод clear(), последний пример:
🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Для удаления с одновременным получением можно использовать функцию pop(), в которую передается ключ элемента и значение по умолчанию, если ключ не найден, первый пример:
Также для удаления может применяться оператор del, второй пример:
Для удаления всех элементов можно использовать метод clear(), последний пример:
🐍 Укус питона // 💬 Чат // #теория #модули #shelve