Как сжать папку в Python: учебник + Примеры + Руководство
import shutil
folder_to_zip = "/путь/к/папке"
zip_name = "архив.zip"
shutil.make_archive(zip_name, 'zip', folder_to_zip)
В этом примере мы импортируем модуль shutil и используем функцию make_archive для создания архива. Первый аргумент функции - имя архива, второй аргумент - формат архива (в данном случае 'zip'). Третий аргумент - путь к папке, которую вы хотите заархивировать.
После выполнения этого кода, вы получите архив.zip, содержащий все файлы и папки из указанной папки.
Надеюсь, это помогает!
Детальный ответ
Как сжать папку в Python
В этой статье мы рассмотрим, как сжать папку в Python с помощью встроенного модуля zipfile. Мы изучим, как создавать zip-архивы, добавлять файлы и папки в них, а также извлекать содержимое архива.
Шаг 1: Импорт модуля zipfile
Прежде чем мы начнем, нам потребуется импортировать модуль zipfile. Этот модуль позволяет работать с zip-архивами в Python.
import zipfile
Шаг 2: Создание пустого архива
Первым шагом мы можем создать пустой zip-архив, в который мы будем добавлять файлы и папки. Для этого мы используем метод ZipFile() с указанием имени архива и режима 'w' для записи:
zipname = 'archive.zip'
with zipfile.ZipFile(zipname, 'w') as zf:
pass
После выполнения вышеуказанного кода, у нас будет создан пустой архив с именем 'archive.zip'.
Шаг 3: Добавление файлов и папок в архив
Чтобы добавить файлы и папки в наш архив, мы можем использовать метод write(). Давайте рассмотрим примеры добавления файла и папки:
Добавление файла:
zipname = 'archive.zip'
filename = 'file.txt'
with zipfile.ZipFile(zipname, 'w') as zf:
zf.write(filename)
В этом примере мы добавляем файл 'file.txt' в архив с именем 'archive.zip'.
Добавление папки:
zipname = 'archive.zip'
foldername = 'folder'
with zipfile.ZipFile(zipname, 'w') as zf:
for root, dirs, files in os.walk(foldername):
for file in files:
zf.write(os.path.join(root, file))
В этом примере мы рекурсивно добавляем все файлы и папки из папки 'folder' в архив 'archive.zip'.
Шаг 4: Извлечение содержимого архива
Чтобы извлечь содержимое zip-архива, мы можем использовать метод extractall(). Давайте рассмотрим пример:
zipname = 'archive.zip'
extract_folder = 'extracted'
with zipfile.ZipFile(zipname, 'r') as zf:
zf.extractall(extract_folder)
В этом примере мы извлекаем все содержимое архива 'archive.zip' в папку 'extracted'.
Заключение
В этой статье мы рассмотрели, как сжать папку в Python с помощью модуля zipfile. Мы узнали, как создавать пустые архивы, добавлять файлы и папки в них, а также извлекать содержимое архива. Теперь у вас есть все необходимые инструменты, чтобы работать с zip-архивами в Python.