Python vám umožňuje rýchlo vytvárať archívy zip / tar.
Nasledujúci príkaz komprimuje celý adresár
shutil.make_archive(output_filename, 'zip', dir_name)
Nasledujúci príkaz vám dáva kontrolu nad súbormi, ktoré chcete archivovať
ZipFile.write(filename)
Tu sú kroky na vytvorenie súboru Zip v Pythone
Krok 1) Ak chcete vytvoriť archívny súbor z Pythonu, uistite sa, že máte príkaz na import správne a v poriadku. Tu je príkaz na import pre archív
from shutil import make_archive
Vysvetlenie kódu
- Importujte triedu make_archive z modulu shutil
- Pomocou funkcie split môžete rozdeliť adresár a názov súboru z cesty k umiestneniu textového súboru (guru99)
- Potom zavoláme modul „shutil.make_archive („ archív guru99, „zip“, root_dir) “a vytvoríme archívny súbor, ktorý bude vo formáte zip
- Potom odovzdáme koreňový adresár vecí, ktoré chceme skomprimovať. Všetko v adresári bude teda zazipované
- Po spustení kódu uvidíte, že sa na pravej strane panela vytvorí archívny súbor zip.
Krok 2)
Teraz sa váš súbor archive.zip zobrazí vo vašom operačnom systéme (Windows Explorer)
Krok 3) Keď na súbor dvakrát kliknete, zobrazí sa zoznam všetkých súborov, ktoré sa tam nachádzajú.
Krok 4) V Pythone môžeme mať väčšiu kontrolu nad archívom, pretože môžeme definovať, ktorý konkrétny súbor sa má zahrnúť do archívu. V našom prípade zahrnieme dva súbory do archívu „guru99.txt“ a „guru99.txt.bak“.
Vysvetlenie kódu
- Import triedy Zipfile zo súboru zip súboru Python. Tento modul poskytuje úplnú kontrolu nad vytváraním súborov zip
- Vytvoríme nový súbor Zipfile s názvom ("testguru99.zip," w ")
- Pri vytváraní novej triedy Zipfile je potrebné odovzdať povolenie, pretože ide o súbor, takže je potrebné do súboru zapisovať informácie ako newzip
- Použili sme premennú „newzip“ na označenie súboru zip, ktorý sme vytvorili
- Pomocou funkcie zápisu v premennej „newzip“ pridáme do archívu súbory „guru99.txt“ a „guru99.txt.bak“.
Keď spustíte kód, uvidíte, že sa súbor vytvorí na pravej strane panelu s názvom „guru99.zip“.
Poznámka : Tu nedávame žiadny príkaz na „zatvorenie“ súboru ako „newzip.close“, pretože používame zámok rozsahu „With“, takže keď program spadne mimo tento rozsah, súbor bude vyčistený a automaticky sa uzavrie.
Krok 5) Keď -> kliknete pravým tlačidlom myši na súbor (testguru99.zip) a -> vyberiete operačný systém (Windows Explorer) , zobrazí sa archívne súbory v priečinku, ako je uvedené nižšie.
Keď dvakrát kliknete na súbor „testguru99.zip“, otvorí sa ďalšie okno, v ktorom sa zobrazia súbory v ňom zahrnuté.
Tu je celý kód
Príklad v jazyku Python 2
import osimport uzávierkaz zipfile import ZipFilez OS import cestaz shutil importu make_archivedef main ():# Skontrolujte, či súbor existujeak path.exists ("guru99.txt"):# získa cestu k súboru v aktuálnom adresárisrc = cesta.realpath ("guru99.txt");# premenovať pôvodný súboros.rename ("career.guru99.txt", "guru99.txt")# teraz vložte veci do archívu ZIProot_dir, tail = path.split (src)shutil.make_archive ("archív guru99", "zip", root_dir)# podrobnejšia kontrola nad súbormi ZIPs ZipFile ("testguru99.zip", "w") ako newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")ak __name __ == "__main__":hlavný()
Príklad v jazyku Python 3
import osimport uzávierkaz zipfile import ZipFilez OS import cestaz shutil importu make_archive# Skontrolujte, či súbor existujeak path.exists ("guru99.txt"):# získa cestu k súboru v aktuálnom adresárisrc = cesta.realpath ("guru99.txt");# premenovať pôvodný súboros.rename ("career.guru99.txt", "guru99.txt")# teraz vložte veci do archívu ZIProot_dir, tail = path.split (src)shutil.make_archive ("archív guru99", "zip", root_dir)# podrobnejšia kontrola nad súbormi ZIPs ZipFile ("testguru99.zip", "w") ako newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
Zhrnutie
- Na zazipovanie celého adresára použite príkaz "shutil.make_archive (" name "," zip ", root_dir)
- Na výber súborov na zip použite príkaz "ZipFile.write (názov súboru)"