Python ZIP soubor s příkladem
⚡ Chytré shrnutí
Python vytváří ZIP archivy pomocí vestavěných modulů shutil a zipfile. Zde se naučíte komprimovat celý adresář pomocí make_archive(), komprimovat specifické soubory pomocí ZipFile a extract, vypsat a číst obsah archivu.

Python umožňuje rychle vytvářet archivy zip/tar.
Následující příkaz zazipuje celý adresář
shutil.make_archive(output_filename, 'zip', dir_name)
Následující příkaz vám dává kontrolu nad soubory, které chcete archivovat
ZipFile.write(filename)
Jak zazipovat celý adresář v Python
Zde jsou kroky k vytvoření souboru ZIP Python
Krok 1) Chcete-li vytvořit archivní soubor z Python, ujistěte se, že máte příkaz k importu správný a v pořádku. Zde je výpis importu pro archiv from shutil import make_archive
Code Vysvětlení
- Importujte třídu make_archive z modulu Shutil
- Použijte funkci rozdělení k rozdělení adresáře a názvu souboru od cesty k umístění textového souboru (guru99)
- Poté zavoláme modul “shutil.make_archive(”archiv guru99, “zip”, root_dir)” k vytvoření archivního souboru, který bude ve formátu zip
- Poté předáme v kořenovém adresáři věci, které chceme zazipovat. Takže vše v adresáři bude zazipováno
- Když kód spustíte, můžete vidět, že se na pravé straně panelu vytvořil archivní soubor zip.
Krok 2) Jakmile je váš archivní soubor vytvořen, můžete na soubor kliknout pravým tlačítkem a vybrat operační systém a zobrazí v něm vaše archivní soubory, jak je uvedeno níže
Nyní se váš soubor archive.zip objeví na vašem OS (Windows Explorer)
Krok 3) Když na soubor dvakrát kliknete, zobrazí se seznam všech souborů v něm.
Jak zazipovat konkrétní soubory pomocí ZipFile
Krok 4) In Python můžeme mít větší kontrolu nad archivem, protože můžeme definovat, který konkrétní soubor zahrnout do archivu. V našem případě zahrneme do archivu dva soubory „guru99.txt“ a „guru99.txt.bak“.
Code Vysvětlení
- Importujte třídu Zipfile ze souboru zip Python modul. Tento modul poskytuje plnou kontrolu nad vytvářením souborů zip
- Vytvoříme nový Zipfile s názvem („testguru99.zip, „w“)
- Vytvoření nové třídy Zipfile vyžaduje předání oprávnění, protože se jedná o soubor, takže musíte do souboru zapsat informace jako newzip
- Použili jsme proměnnou „newzip“ k odkazování na soubor zip, který jsme vytvořili
- Pomocí funkce zápisu na proměnnou „newzip“ přidáme do archivu soubory „guru99.txt“ a „guru99.txt.bak“
Když spustíte kód, můžete vidět, že soubor je vytvořen na pravé straně panelu s názvem „guru99.zip“
Hodnocení: Zde nezadáváme žádný příkaz k „zavření“ souboru jako „newzip.close“, protože používáme zámek rozsahu „With“, takže když program spadne mimo tento rozsah, soubor se vyčistí a automaticky se zavře.
Krok 5) Když -> klikněte pravým tlačítkem na soubor (testguru99.zip) a -> vyberte svůj OS (Windows Explorer), zobrazí archivní soubory ve složce, jak je uvedeno níže.
Když dvakrát kliknete na soubor „testguru99.zip“, otevře se další okno, ve kterém se zobrazí soubory v něm obsažené.
Kompletní Python Code Vytvořit ZIP soubor
Zde je úplný kód
Python 2 Příklad
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 Příklad
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 jít na extract (Rozbalení) ZIP souboru v Python
Chcete-li archiv rozbalit, otevřete jej v režimu pro čtení pomocí ZipFile a zavolejte extracvysoký() na extract každý soubor nebo extract() pro vytažení jednoho člena.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: myzip.extractall("extracted_files")
Bývalý/átracMetoda tall() zapíše všechny archivované soubory do složky, kterou předáte jako argument.
Jak zobrazit seznam souborů v ZIP souboru Archive
Archiv si můžete prohlédnout bez předchozího upozornění.tracMetoda namelist() vrací názvy všech souborů uložených v souboru ZIP.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: print(myzip.namelist())
Vypíše seznam názvů souborů obsažených v archivu.
Jak číst soubor uvnitř ZIP souboru Archive
Soubor člena si můžete přečíst přímo z archivu bez rozbalování.ping na disk pomocí metody open() objektu ZipFile.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: with myzip.open("guru99.txt") as f: print(f.read())
To je užitečné, když potřebujete pouze obsah jednoho souboru z velkého archivu.







