Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Python упрощает создание ZIP и TAR архивов, будь то сжатие целой директории или выборка конкретных файлов.

Используйте shutil.make_archive для быстрого архивирования всей директории:

shutil.make_archive(output_filename, 'zip', dir_name)

Для детального управления класс zipfile.ZipFile позволяет указывать отдельные файлы:

ZipFile.write(filename)

Шаг 1: Подготовка окружения

Шаг 2: Архивирование всей директории

Когда нужно заархивировать всё в папке, используйте make_archive:

root_dir, _ = path.split(src)
make_archive("guru99_archive", "zip", root_dir)

Это создаст guru99_archive.zip в текущей рабочей директории.

Шаг 3: Добавление конкретных файлов в новый ZIP

Если нужен более точный контроль, класс ZipFile идеален:

with ZipFile("testguru99.zip", "w") as newzip:
    newzip.write("guru99.txt")
    newzip.write("guru99.txt.bak")

Оператор with автоматически закрывает архив при выходе из блока.

Шаг 4: Проверка результата

Откройте созданный ZIP-файл в проводнике ОС для просмотра содержимого. В Windows двойной клик покажет список включённых файлов.

Ниже иллюстративные скриншоты типичного рабочего процесса:

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Создание ZIP-архивов в Python: от целой директории до выборки файлов

Полный код (Python 3):

import os
from shutil import make_archive
from zipfile import ZipFile
from os import path

def main():
    if path.exists("guru99.txt"):
        # Получить абсолютный путь к исходному файлу
        src = path.realpath("guru99.txt")
        # Опционально: переименовать существующий файл
        os.rename("career.guru99.txt", "guru99.txt")
        # Архивировать всю директорию, содержащую файл
        root_dir, _ = path.split(src)
        make_archive("guru99_archive", "zip", root_dir)
        # Создать второй ZIP только с выбранными файлами
        with ZipFile("testguru99.zip", "w") as newzip:
            newzip.write("guru99.txt")
            newzip.write("guru99.txt.bak")

if __name__ == "__main__":
    main()

Резюме

Python

  1. Работа с файлами в Python: открытие, чтение, запись и управление
  2. Чтение файлов в Java с BufferedReader — Практическое руководство с примерами
  3. Мастерство метода strip() в Python: подробное руководство и практические примеры
  4. Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
  5. Функция round() в Python: подробное объяснение с практическими примерами
  6. Освоение функции map() в Python: синтаксис, примеры и лучшие практики
  7. Python timeit(): измерение времени выполнения с практическими примерами
  8. Counter в collections Python: эффективное подсчёт, обновление и арифметические операции
  9. Python list.count(): экспертное руководство с практическими примерами
  10. Python list.index(): как находить позиции элементов — практические примеры