Python vam omogoča hitro ustvarjanje zip / tar arhivov.
Naslednji ukaz bo stisnil celoten imenik
shutil.make_archive(output_filename, 'zip', dir_name)
Naslednji ukaz vam daje nadzor nad datotekami, ki jih želite arhivirati
ZipFile.write(filename)
Tu so koraki za ustvarjanje datoteke Zip v Pythonu
Korak 1) Če želite iz Pythona ustvariti arhivsko datoteko, poskrbite, da je izjava o uvozu pravilna in v redu. Tukaj je izjava o uvozu za arhiv
from shutil import make_archive
Razlaga kode
- Uvozi razred make_archive iz modula shutil
- Uporabite funkcijo split, da razdelite imenik in ime datoteke od poti do mesta besedilne datoteke (guru99)
- Nato pokličemo modul "shutil.make_archive (" guru99 arhiv, "zip", root_dir) ", da ustvarimo arhivsko datoteko, ki bo v zip obliki
- Nato prenesemo v korenski imenik stvari, ki jih želimo stisniti. Torej bo vse v imeniku stisnjeno
- Ko zaženete kodo, lahko vidite, da je na desni strani plošče ustvarjena arhivska datoteka zip.
2. korak)
Zdaj se bo datoteka archive.zip pojavila v vašem OS (Windows Explorer)
Korak 3) Ko dvokliknete datoteko, boste videli seznam vseh datotek.
Korak 4) V Pythonu imamo lahko več nadzora nad arhivom, saj lahko določimo, katero datoteko vključimo v arhiv. V našem primeru bomo v arhiv "guru99.txt" in "guru99.txt.bak" vključili dve datoteki .
Razlaga kode
- Uvozite razred Zipfile iz zip datoteke Python modul. Ta modul daje popoln nadzor nad ustvarjanjem datotek zip
- Ustvarimo novo datoteko zip z imenom ("testguru99.zip," w ")
- Če želite ustvariti nov razred Zipfile, morate predati dovoljenje, ker gre za datoteko, zato morate v datoteko zapisati podatke kot newzip
- Spremenljivko "newzip" smo uporabili za sklicevanje na zip datoteko, ki smo jo ustvarili
- S pomočjo funkcije zapisovanja na spremenljivko "newzip" v arhiv dodamo datoteki "guru99.txt" in "guru99.txt.bak"
Ko zaženete kodo, lahko vidite, da je datoteka ustvarjena na desni strani plošče z imenom "guru99.zip"
Opomba : Tu ne damo nobenega ukaza za "zapiranje" datoteke, kot je "newzip.close", ker uporabljamo zaklepanje obsega "With", zato se bo datoteka, ko program ne pade iz tega obsega, očistila in samodejno zaprla.
Korak 5) Ko -> z desno miškino tipko kliknete datoteko (testguru99.zip) in -> izberete svoj operacijski sistem (Windows Explorer) , bodo v mapi prikazane arhivske datoteke, kot je prikazano spodaj.
Ko dvakrat kliknete datoteko "testguru99.zip", se odpre novo okno in v njej bodo prikazane datoteke, ki so v njej.
Tu je celotna koda
Python 2 Primer
uvoz osuvoz shutiliz uvoza zipfileiz os uvozne potiiz shutil import make_archivedef main ():# Preverite, ali datoteka obstajače path.exists ("guru99.txt"):# dobite pot do datoteke v trenutnem imenikusrc = path.realpath ("guru99.txt");# preimenuj izvirno datotekoos.rename ("kariera.guru99.txt", "guru99.txt")# zdaj stvari shrani v ZIP arhivroot_dir, tail = path.split (src)shutil.make_archive ("arhiv guru99", "zip", root_dir)# več natančnega nadzora nad datotekami ZIPz ZipFile ("testguru99.zip", "w") kot newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")če je __ime __ == "__glavno__":glavni ()
Python 3 Primer
uvoz osuvoz shutiliz uvoza zipfileiz os uvozne potiiz shutil import make_archive# Preverite, ali datoteka obstajače path.exists ("guru99.txt"):# dobite pot do datoteke v trenutnem imenikusrc = path.realpath ("guru99.txt");# preimenuj izvirno datotekoos.rename ("kariera.guru99.txt", "guru99.txt")# zdaj stvari shrani v ZIP arhivroot_dir, tail = path.split (src)shutil.make_archive ("arhiv guru99", "zip", root_dir)# več natančnega nadzora nad datotekami ZIPz ZipFile ("testguru99.zip", "w") kot newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
Povzetek
- Za stiskanje celotnega imenika uporabite ukaz "shutil.make_archive (" ime "," zip ", root_dir)
- Za izbiro datotek za zip uporabite ukaz "ZipFile.write (ime datoteke)"