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

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 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

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

    Пример за Python 3

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

    Обобщение

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