Python Plik ZIP z przykładem

⚡ Inteligentne podsumowanie

Python Tworzy archiwa ZIP za pomocą wbudowanych modułów shutil i zipfile. Tutaj nauczysz się kompresować cały katalog za pomocą make_archive(), kompresować konkretne pliki za pomocą ZipFile i np.tract, wyświetl i odczytaj zawartość archiwum.

  • 🗜️ make_archive(): shutil.make_archive() kompresuje caĹ‚y katalog do pliku .zip.
  • đź“„ ZipFile.write(): ZipFile.write() dodaje okreĹ›lone pliki do archiwum jeden po drugim.
  • đź“‚ extracwysoki(): Plik Zip.extractall() rozpakowuje wszystkie pliki z archiwum do folderu.
  • đź“‹ lista_nazw(): ZipFile.namelist() wyĹ›wietla nazwy plikĂłw znajdujÄ…cych siÄ™ w archiwum ZIP.
  • 🤖 Pomoc AI: NarzÄ™dzia AI, takie jak Copilot, natychmiast generujÄ… kod pocztowy i kod rozpakowy.

Python Plik zip

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)

Jak skompresować cały katalog w formacie ZIP Python

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

Code Wyjaśnienie

  • 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

Jak spakować określone pliki za pomocą ZipFile

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” oraz „guru99.txt.bak”.

Python plik zip

Code Wyjaśnienie

  • 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

Absolutna Python Code Aby utworzyć 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")

Jak byćtract (Rozpakuj) plik ZIP w Python

Aby rozpakować archiwum, otwórz je w trybie odczytu za pomocą ZipFile i wywołaj np.tractall() do extracdo każdego pliku lub np.tract() w celu wyciągnięcia pojedynczego członka.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    myzip.extractall("extracted_files")

ByłytracMetoda tall() zapisuje wszystkie zarchiwizowane pliki do folderu przekazanego jako argument.

Jak wyświetlić listę plików w pliku ZIP Archive

Możesz przeglądać archiwum bez koniecznościtracrobiąc to. Metoda namelist() zwraca nazwy wszystkich plików zapisanych w pliku ZIP.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    print(myzip.namelist())

Wyświetla listę nazw plików zawartych w archiwum.

Jak odczytać plik w archiwum ZIP Archive

Możesz odczytać plik członka bezpośrednio z archiwum bez rozpakowywaniaping zapisz go na dysku korzystając z metody open() programu ZipFile.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    with myzip.open("guru99.txt") as f:
        print(f.read())

Przydaje się, gdy potrzebujesz tylko zawartości jednego pliku z dużego archiwum.

FAQ

Użyj shutil.make_archive(name, 'zip', root_dir), aby skompresować katalog, lub otwórz plik ZipFile w trybie zapisu i wywołaj write(), aby dodać określone pliki do archiwum.

shutil.make_archive() kompresuje cały katalog w jednym wywołaniu, podczas gdy zipfile.ZipFile zapewnia dokładniejszą kontrolę, umożliwiając dodawanie, odczytywanie i usuwanietracpojedynczych plików w archiwum.

Otwórz archiwum za pomocą ZipFile('file.zip', 'r') i wywołaj extractall('folder') do extract wszystko, albo extract('name') w celu wyciągnięcia pojedynczego pliku z archiwum.

Otwórz plik ZipFile w trybie odczytu i wywołaj funkcję namelist(), która zwraca listę wszystkich nazw plików zapisanych w archiwum bez extracnie wybierając żadnego z nich.

Polecenie with automatycznie zamyka archiwum po zakończeniu bloku, nawet jeśli wystąpi błąd, dzięki czemu nie trzeba ręcznie wywoływać close().

Asystenci AI, tacy jak GitHub Copilot, automatycznie uzupełniają wywołania ZipFile i make_archive() oraz generują pętle, które kompresują lub rozpakowują wiele plików na podstawie opisu w języku potocznym.

Tak. Narzędzia oparte na sztucznej inteligencji mogą automatyzować pisanie skryptów kopii zapasowych i archiwizacji, wybierać między formatami shutil i zipfile oraz dodawać obsługę błędów w przypadku brakujących plików lub uszkodzonych archiwów.

Tak. Otwórz plik ZipFile, a następnie użyj jego metody open() na pliku członkowskim, aby odczytać jego zawartość bezpośrednio, bez potrzebytraczapisanie całego archiwum na dysku.

Podsumuj ten post następująco: