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

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

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

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

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

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

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

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

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

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

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

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

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

Стоит учитывать, что при открытии файла в режиме "w" при всех последующих записях текущее содержимое будет затираться, то есть фактически архивный файл будет создаваться заново. Если нам необходимо добавить, то необходимо определять zip-файл в режиме "a":

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