Способов создания zip-архива с сохранением структуры папок в Python
В Python существует несколько способов создания zip-архива с сохранением структуры папок. Один из наиболее распространенных способов - использование модуля zipfile. Давайте рассмотрим примеры.
1. Использование модуля zipfile
import zipfile # Импорт модуля для работы с zip-архивами
import os # Импорт модуля для работы с операционной системой
def zip_directory(directory, zip_file):
"""
Функция для создания zip-архива с сохранением структуры папок.
Аргументы:
directory (str): Путь к директории, которую нужно заархивировать.
zip_file (str): Имя создаваемого архива.
Возвращает:
None
"""
with zipfile.ZipFile(zip_file, 'w', zipfile.ZIP_DEFLATED) as zipf: # Открытие zip-архива для записи
for root, _, files in os.walk(directory): # Итерация по всем файлам и подпапкам в указанной директории
for file in files: # Итерация по всем файлам в текущей папке
file_path = os.path.join(root, file) # Полный путь к текущему файлу
relative_path = os.path.relpath(file_path, os.path.join(directory, '..')) # Относительный путь файла относительно директории, которую мы архивируем
zipf.write(file_path, relative_path) # Добавление файла в архив с сохранением относительной структуры папок
# Пример использования:
directory_to_zip = 'путь_к_директории' # Укажите путь к директории, которую вы хотите заархивировать
zip_file = 'название_архива.zip' # Укажите имя для создаваемого архива
zip_directory(directory_to_zip, zip_file) # Вызов функции для создания архива
Этот код создаст zip-архив, содержащий все файлы и подпапки указанной директории directory_to_zip, сохраняя при этом их структуру.
2. Использование библиотеки shutil
import shutil
def zip_directory_shutil(directory, zip_file):
shutil.make_archive(zip_file, 'zip', directory)
# Пример использования:
directory_to_zip = 'путь_к_директории' # Укажите путь к директории, которую вы хотите заархивировать
zip_file = 'название_архива.zip' # Укажите имя для создаваемого архива (без расширения .zip)
zip_directory_shutil(directory_to_zip, zip_file)
Этот код также создаст zip-архив, содержащий все файлы и подпапки указанной директории directory_to_zip, сохраняя при этом их структуру.
Таким образом, вот в Python существует несколько способов создать zip-архивы папки с сохранением структуры директорий.
С другими возможностями языка Python, вы можете ознакомиться в моем видеокурсе Программирование на Python с Нуля до Гуру.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.