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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Создание и удаление папки

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

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

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

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

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

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

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

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

🐍 Укус питона // 💬 Чат // #теория #модули #OS
Запись и чтение архивных zip-файлов

Zip представляет наиболее популярный формат архивации и сжатия файлов. И язык Python имеет встроенный модуль для работы с ними - zipfile. С помощью этого модуля можно создавать, считывать, записывать zip-файлы, получать их содержимое и добавлять в них файлы. Также поддерживается шифрование, но не поддерживается дешифрование.

Для представления zip-файла в этом модуле определен класс ZipFile. Он имеет следующий конструктор:

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Запись и чтение архивных zip-файлов. Продолжение.

Параметры:
• file: путь к zip-файлу

• mode: режим открытия файла. Может принимать следующие значения:
- r: применяется для чтения существующего файла
- w: применяется для записи нового файла
- a: применяется для добавления в файл

• compression: тип сжатия файла при записи. Может принимать значения:
- ZIP_STORED: архивация без сжатия (значение по умолчанию)
- ZIP_DEFLATED: стандартный тип сжатия при архивации в zip
- ZIP_BZIP2: сжатие с помощью способа BZIP2
- ZIP_LZMA: сжатие с помощью способа LZMA

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Запись и чтение архивных zip-файлов. Продолжение.

Для работы с файлами этот класс предоставляет ряд методов:

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Создание и закрытие файла.

Для создания архивного файла в конструктор ZipFile передается режим "w" или "a":

После выполнения кода в текущей папке будет создаваться пустой архивный файл "metanit.zip".

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Создание и закрытие файла. Продолжение.

После окончания работы с архивом для его закрытия применяется метод close():

Но так как ZipFile также представляет менеджер контекста, то он поддерживает выражение with, которое определяет контекст и автоматически закрывает файл по завершению контекста:

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы
Запись файлов в архив.

Для записи файлов в архив применяется файл write():

Первый параметр представляет файл, который записиывается в архив. Второй параметр - arcname устанавливает произвольное имя для файла внутри архива (по умолчанию это само имя файла). Третий параметр - compress_type представляет тип сжатия, а параметр compresslevel - уровень сжатия.

Например, запишем в архив "metanit.zip" файл "hello.txt" (который, как предполагается, находится в той же папке, где и текущий скрипт python):

🐍 Укус питона // 💬 Чат // #теория #запись #чтение #zip #файлы