Python vám 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)
Tady jsou kroky k vytvoření souboru ZIP v Pythonu
Krok 1) Chcete-li vytvořit archivační soubor z Pythonu, ujistěte se, že máte prohlášení o importu správné a v pořádku. Zde je prohlášení o importu pro archiv
from shutil import make_archive
Vysvětlení kódu
- Importujte třídu make_archive z modulu shutil
- Pomocí funkce split rozdělte adresář a název souboru z cesty k umístění textového souboru (guru99)
- Poté zavoláme modul „shutil.make_archive („ archiv guru99, „zip“, root_dir) “a vytvoříme archivní soubor, který bude ve formátu zip
- Poté předáme kořenový adresář věcí, které chceme zazipovat. Takže vše v adresáři bude zazipováno
- Když spustíte kód, můžete vidět, že na pravé straně panelu je vytvořen archivní zip soubor.
Krok 2)
Nyní se váš soubor archive.zip objeví ve vašem operačním systému (Windows Explorer)
Krok 3) Když na soubor dvakrát kliknete, zobrazí se seznam všech souborů.
Krok 4) V Pythonu 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 dva soubory pod archiv „guru99.txt“ a „guru99.txt.bak“.
Vysvětlení kódu
- Import třídy Zipfile ze souboru zip souboru Python. 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ředat povolení, protože se jedná o soubor, takže je třeba do souboru zapisovat informace jako newzip
- Proměnnou „newzip“ jsme použili k označení souboru zip, který jsme vytvořili
- Pomocí funkce zápisu do proměnné „newzip“ přidáme do archivu soubory „guru99.txt“ a „guru99.txt.bak“
Když spustíte kód, uvidíte, že soubor je vytvořen na pravé straně panelu s názvem "guru99.zip"
Poznámka : Zde nedá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 bude vyčištěn a automaticky se zavře.
Krok 5) Když -> kliknete pravým tlačítkem na soubor (testguru99.zip) a -> vyberete svůj OS (Průzkumník Windows) , zobrazí se archivní soubory ve složce, jak je znázorněno níže.
Když dvakrát kliknete na soubor „testguru99.zip“, otevře se další okno a zobrazí se soubory v něm obsažené.
Zde je kompletní kód
Příklad Pythonu 2
import osimportovat závěrkuze souboru zipfile import ZipFilez cesty importu osze shutil importu make_archivedef main ():# Zkontrolujte, zda soubor existujepokud path.exists ("guru99.txt"):# získejte cestu k souboru v aktuálním adresářisrc = cesta.realpath ("guru99.txt");# přejmenujte původní souboros.rename ("career.guru99.txt", "guru99.txt")# Nyní vložte věci do archivu ZIProot_dir, tail = path.split (src)shutil.make_archive ("archiv guru99", "zip", root_dir)# podrobnější kontrola nad soubory ZIPs ZipFile ("testguru99.zip", "w") jako newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")pokud __name __ == "__main__":hlavní()
Příklad Pythonu 3
import osimportovat závěrkuze souboru zipfile import ZipFilez cesty importu osze shutil importu make_archive# Zkontrolujte, zda soubor existujepokud path.exists ("guru99.txt"):# získejte cestu k souboru v aktuálním adresářisrc = cesta.realpath ("guru99.txt");# přejmenujte původní souboros.rename ("career.guru99.txt", "guru99.txt")# Nyní vložte věci do archivu ZIProot_dir, tail = path.split (src)shutil.make_archive ("archiv guru99", "zip", root_dir)# podrobnější kontrola nad soubory ZIPs ZipFile ("testguru99.zip", "w") jako newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
souhrn
- Chcete-li zazipovat celý adresář, použijte příkaz "shutil.make_archive (" name "," zip ", root_dir)
- Chcete-li vybrat soubory pro zip, použijte příkaz "ZipFile.write (název souboru)"