Работаем с 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