Python ZIP-файл с примером
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) In Python мы можем иметь больше контроля над архивом, поскольку мы можем определить, какой конкретный файл включить в архив. В нашем случае мы включим два файла в архив «гуру99.txt» и «guru99.txt.bak».
Код Пояснение
- Импортировать класс Zipfile из zip-файла Python модуль. Этот модуль дает полный контроль над созданием zip-файлов.
- Мы создаем новый Zip-файл с именем («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).
- Чтобы выбрать файлы для архивирования, используйте команду «ZipFile.write(имя файла)».