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 archive, «zip», root_dir) «, чтобы создать архивный файл, который будет в формате zip
- После этого мы передаем в корневой каталог вещи, которые мы хотим заархивировать. Так что все в каталоге будет заархивировано
- Когда вы запустите код, вы увидите, что архивный zip-файл создан с правой стороны панели.
Шаг 2)
Теперь ваш файл archive.zip появится в вашей ОС (Windows Explorer)
Шаг 3) Когда вы дважды щелкните файл, вы увидите список всех файлов в нем.
Шаг 4) В Python мы можем лучше контролировать архив, поскольку мы можем определить, какой именно файл следует включить в архив. В нашем случае мы включим два файла в архив «guru99.txt» и «guru99.txt.bak».
Код Объяснение
- Импортировать класс Zipfile из zip-файла модуля Python. Этот модуль дает полный контроль над созданием ZIP-файлов
- Мы создаем новый Zipfile с именем («testguru99.zip,» w «)
- Создание нового класса Zipfile, требуется передать разрешение, потому что это файл, поэтому вам нужно записать информацию в файл как newzip
- Мы использовали переменную «newzip» для ссылки на созданный нами zip-файл
- Используя функцию записи для переменной «newzip», мы добавляем файлы «guru99.txt» и «guru99.txt.bak» в архив
Когда вы выполните код, вы увидите, что файл создается с правой стороны панели с именем «guru99.zip».
Примечание . Здесь мы не даем команду «закрыть» файл, например «newzip.close», потому что мы используем блокировку области действия «С», поэтому, когда программа выходит за пределы этой области, файл будет очищен и автоматически закрыт.
Шаг 5) Когда вы -> щелкните правой кнопкой мыши по файлу (testguru99.zip) и -> выберите свою ОС (Windows Explorer) , он покажет архивные файлы в папке, как показано ниже.
Если дважды щелкнуть файл «testguru99.zip», откроется другое окно, в котором будут показаны файлы, включенные в него.
Вот полный код
Пример Python 2
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive def main(): # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive", "zip", root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip","w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak") if __name__== "__main__": main()
Пример Python 3
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive","zip",root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip", "w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak")
Резюме
- Чтобы сжать весь каталог, используйте команду «shutil.make_archive (» name «,» zip «, root_dir)
- Для выбора файлов для zip используйте команду «ZipFile.write (имя файла)»