Python Ready | Программирование
Работаем с 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 | #практика Если у вас установлено приложение,
вы можете сразу перейти в канал