🐍 Укус питона 🐍
3.09K subscribers
489 photos
2 videos
259 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Модуль shelve. Продолжение.

Запись данных предполагает установку значения для определенного ключа:

А чтение из файла эквивалентно получению значения по ключу:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Чтение данных.

При чтении данных, если запрашиваемый ключ отсутствует, то генерируется исключение. В этом случае перед получением мы можем проверять на наличие ключа с помощью оператора in:

Также мы можем использовать метод get(). Первый параметр метода - ключ, по которому следует получить значение, а второй - значение по умолчанию, которое возвращается, если ключ не найден.

Используя цикл for, можно перебрать все значения из файла:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Чтение данных. Продолжение.

Метод keys() возвращает все ключи из файла, а метод values() - все значения:

Еще один метод items() возвращает набор кортежей. Каждый кортеж содержит ключ и значение.

Консольный вывод:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Обновление данных.

Для изменения данных достаточно присвоить по ключу новое значение, а для добавления данных - определить новый ключ:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Удаление данных

Для удаления с одновременным получением можно использовать функцию pop(), в которую передается ключ элемента и значение по умолчанию, если ключ не найден, первый пример:

Также для удаления может применяться оператор del, второй пример:

Для удаления всех элементов можно использовать метод clear(), последний пример:

🐍 Укус питона // 💬 Чат // #теория #модули #shelve
Модуль OS и работа с файловой системой

Ряд возможностей по работе с каталогами и файлами предоставляет встроенный модуль os. Хотя он содержит много функций, рассмотрим только основные из них:

🐍 Укус питона // 💬 Чат // #теория #модули #OS
Создание и удаление папки

Для создания папки применяется функция mkdir(), в которую передается путь к создаваемой папке:

Для удаления папки используется функция rmdir(), в которую передается путь к удаляемой папке:

🐍 Укус питона // 💬 Чат // #теория #модули #OS
Переименование файла

Для переименования вызывается функция rename(source, target), первый параметр которой - путь к исходному файлу, а второй - новое имя файла. В качестве путей могут использоваться как абсолютные, так и относительные. Например, пусть в папке C://SomeDir/ располагается файл somefile.txt. Переименуем его в файл "hello.txt":

🐍 Укус питона // 💬 Чат // #теория #модули #OS
Удаление файла

Для удаления вызывается функция remove(), в которую передается путь к файлу:

🐍 Укус питона // 💬 Чат // #теория #модули #OS
Существование файла

Если мы попытаемся открыть файл, который не существует, то Python выбросит исключение FileNotFoundError. Для отлова исключения мы можем использовать конструкцию try...except. Однако можно уже до открытия файла проверить, существует ли он или нет с помощью метода os.path.exists(path). В этот метод передается путь, который необходимо проверить:

🐍 Укус питона // 💬 Чат // #теория #модули #OS