ZIP-файл Python с примером

Anonim

Python позволяет быстро создавать архивы zip / tar.

Следующая команда заархивирует весь каталог

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

Следующая команда дает вам контроль над файлами, которые вы хотите заархивировать.

ZipFile.write(filename)

Вот шаги для создания Zip-файла в Python

Шаг 1) Чтобы создать архивный файл из Python, убедитесь, что ваш оператор импорта правильный и в правильном порядке. Здесь оператор импорта для архива

from shutil import make_archive

Код Пояснение

  • Импортировать класс make_archive из модуля shutil
  • Используйте функцию разделения, чтобы разделить каталог и имя файла из пути к местоположению текстового файла (guru99)
  • Затем мы вызываем модуль "shutil.make_archive (" архив guru99, "zip", root_dir) "для создания файла архива, который будет в формате zip.
  • После этого мы передаем в корневой каталог то, что хотим заархивировать. Таким образом, все в каталоге будет заархивировано
  • Когда вы запустите код, вы увидите, что архивный zip-файл создается в правой части панели.

Шаг 2)

  • После того, как ваш архивный файл создан, вы можете щелкнуть правой кнопкой мыши по файлу и выбрать ОС, и в нем отобразятся ваши архивные файлы, как показано ниже.

    Теперь ваш файл archive.zip появится в вашей ОС (проводнике Windows).

    Шаг 3) Если дважды щелкнуть файл, вы увидите список всех файлов в нем.

    Шаг 4) В Python мы можем иметь больший контроль над архивом, поскольку мы можем определить, какой конкретный файл включить в архив. В нашем случае мы включим два файла в архив «guru99.txt» и «guru99.txt.bak».

    Код Пояснение

    • Импортируйте класс Zipfile из модуля Python zip файла. Этот модуль дает полный контроль над созданием zip-файлов.
    • Создаем новый Zip-файл с именем ("testguru99.zip," w ")
    • Для создания нового класса Zipfile требуется передать разрешение, потому что это файл, поэтому вам нужно записать информацию в файл как newzip.
    • Мы использовали переменную newzip для ссылки на созданный нами zip-файл.
    • Используя функцию записи в переменной "newzip", добавляем в архив файлы "guru99.txt" и "guru99.txt.bak"

    Когда вы запустите код, вы увидите, что в правой части панели создан файл с именем "guru99.zip".

    Примечание . Здесь мы не даем никакой команды для «закрытия» файла, такого как «newzip.close», потому что мы используем блокировку области действия «С», поэтому, когда программа выходит за пределы этой области, файл будет очищен и автоматически закрыт.

    Шаг 5) Когда вы -> щелкните правой кнопкой мыши файл (testguru99.zip) и -> выберите свою ОС (проводник Windows) , он отобразит файлы архива в папке, как показано ниже.

    Если дважды щелкнуть файл «testguru99.zip», откроется другое окно, в котором будут показаны файлы, включенные в него.

    Вот полный код

    Пример Python 2

    импорт ОСимпортный шутилиз zipfile импортировать ZipFileиз пути импорта ОСиз shutil import make_archivedef main ():# Проверяем, существует ли файлесли path.exists ("guru99.txt"):# получаем путь к файлу в текущем каталогеsrc = path.realpath ("guru99.txt");# переименовать исходный файлos.rename ("карьера.guru99.txt", "guru99.txt")# теперь помещаем вещи в ZIP-архивroot_dir, tail = путь.split (src)shutil.make_archive ("архив guru99", "zip", root_dir)# более точный контроль над ZIP-файламис ZipFile ("testguru99.zip", "w") в виде нового архива:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")если __name __ == "__main__":главный()

    Пример Python 3

    импорт ОСимпортный шутилиз zipfile импортировать ZipFileиз пути импорта ОСиз shutil import make_archive# Проверяем, существует ли файлесли path.exists ("guru99.txt"):# получаем путь к файлу в текущем каталогеsrc = path.realpath ("guru99.txt");# переименовать исходный файлos.rename ("карьера.guru99.txt", "guru99.txt")# теперь помещаем вещи в ZIP-архивroot_dir, tail = путь.split (src)shutil.make_archive ("архив guru99", "zip", root_dir)# более точный контроль над ZIP-файламис ZipFile ("testguru99.zip", "w") в виде нового архива:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")

    Резюме

    • Чтобы заархивировать весь каталог, используйте команду "shutil.make_archive (" name "," zip ", root_dir)
    • Чтобы выбрать файлы для архивирования, используйте команду "ZipFile.write (имя файла)"