Работаем с ZIP-файлами прямо из Python!



Такой небольшой набор приёмов пригодится, когда нужно быстро упаковать файлы, сохранить копию проекта или развернуть архив. Всё это можно сделать через стандартный модуль zipfile

Начнём с импорта:
import zipfile

Создадим первый архив и добавим в него файл:
with zipfile.ZipFile("archive.zip", "w") as z:
z.write("example.txt")


Если архив уже существует, можно дописывать новые файлы. Такой подход удобен, когда структура данных формируется постепенно:
with zipfile.ZipFile("archive.zip", "a") as z:
z.write("photo.jpg")
z.write("config.json")


Перед извлечением или передачей архива иногда полезно убедиться, что внутри действительно то, что нужно. Для этого есть простой способ посмотреть список файлов:
with zipfile.ZipFile("archive.zip", "r") as z:
print(z.namelist())


Извлечение содержимого - этот вариант подходит, когда нужно развернуть архив целиком без выбора отдельных файлов:
with zipfile.ZipFile("archive.zip", "r") as z:
z.extractall("unzipped")


Часто возникает задача упаковать всю директорию — вот небольшая вспомогательная функция:
import os

def zip_folder(folder, zip_name):
with zipfile.ZipFile(zip_name, "w") as z:
for root, _, files in os.walk(folder):
for f in files:
z.write(os.path.join(root, f))


Теперь можно упаковать любую папку одной строкой:
zip_folder("my_project", "project_backup.zip")

Это простой набор приёмов, который действительно помогает в повседневной работе: резервное копирование, перенос данных, подготовка результатов и автоматизация задач.

Python Ready | #практика
Просмотры: 191
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти