Python Plik ZIP z przykładem

Python umożliwia szybkie tworzenie archiwów zip/tar.

Następujące polecenie spakuje cały katalog

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

Poniższe polecenie daje Ci kontrolę nad plikami, które chcesz zarchiwizować

ZipFile.write(filename)

Oto kroki, jak utworzyć plik Zip Python

Krok 1) Aby utworzyć plik archiwum z Python, upewnij się, że twoje oświadczenie importu jest poprawne i w odpowiedniej kolejności. Oto oświadczenie importu dla archiwum from shutil import make_archive

Python plik zip

Objaśnienie kodu

  • Importuj klasę make_archive z modułu shutil
  • Użyj funkcji split, aby oddzielić katalog i nazwę pliku od ścieżki do lokalizacji pliku tekstowego (guru99)
  • Następnie wywołujemy moduł „shutil.make_archive(“guru99 archive, “zip”, root_dir)”, aby utworzyć plik archiwum, który będzie w formacie zip
  • Następnie przekazujemy do katalogu głównego rzeczy, które chcemy spakować. Zatem wszystko w katalogu zostanie spakowane
  • Po uruchomieniu kodu po prawej stronie panelu możesz zobaczyć, że został utworzony plik archiwum zip.

Krok 2) Po utworzeniu pliku archiwum możesz kliknąć prawym przyciskiem myszy na plik i wybrać system operacyjny, a zostaną w nim wyświetlone pliki archiwum, jak pokazano poniżej

Python plik zip

Teraz plik archive.zip pojawi się na Twoim systemie operacyjnym (Windows Explorer)

Python plik zip

Krok 3) Po dwukrotnym kliknięciu pliku zobaczysz listę wszystkich zawartych w nim plików.

Python plik zip

Krok 4) In Python możemy mieć większą kontrolę nad archiwum, ponieważ możemy zdefiniować, który konkretny plik uwzględnić w archiwum. W naszym przypadku uwzględnimy dwa pliki w archiwum „guru99.txt” i „guru99.txt.bak”.

Python plik zip

Objaśnienie kodu

  • Importuj klasę Zipfile z pliku zip Python moduł. Moduł ten daje pełną kontrolę nad tworzeniem plików zip
  • Tworzymy nowy plik Zip o nazwie („testguru99.zip, „w”)
  • Tworzenie nowej klasy Zipfile wymaga przekazania uprawnień, ponieważ jest to plik, więc musisz zapisać informacje do pliku jako newzip
  • Użyliśmy zmiennej „newzip” w odniesieniu do utworzonego przez nas pliku ZIP
  • Używając funkcji write na zmiennej „newzip” dodajemy do archiwum pliki „guru99.txt” i „guru99.txt.bak”

Po wykonaniu kodu zobaczysz, że po prawej stronie panelu tworzony jest plik o nazwie „guru99.zip”

Note: Tutaj nie wydajemy żadnego polecenia „zamknięcia” pliku, np. „newzip.close”, ponieważ używamy blokady zakresu „With”, więc gdy program wyjdzie poza ten zakres, plik zostanie wyczyszczony i automatycznie zamknięty.

Krok 5) Kiedy -> kliknij prawym przyciskiem myszy plik (testguru99.zip) i -> wybierz swój system operacyjny (Windows Explorer), w folderze zostaną wyświetlone pliki archiwum, jak pokazano poniżej.

Python plik zip

Po dwukrotnym kliknięciu pliku „testguru99.zip” zostanie otwarte kolejne okno, w którym wyświetlone zostaną zawarte w nim pliki.

Python plik zip

Oto pełny kod

Python 2 Przykład

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 Przykład

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

Podsumowanie

  • Aby skompresować cały katalog użyj polecenia „shutil.make_archive(“name”,”zip”, root_dir)
  • Aby wybrać pliki do spakowania użyj polecenia „ZipFile.write(nazwa pliku)”

Codzienny biuletyn Guru99

Rozpocznij dzień od najnowszych i najważniejszych wiadomości na temat sztucznej inteligencji, dostarczanych już teraz.