Python vă permite să creați rapid arhive zip / tar.
Următoarea comandă va zip întregul director
shutil.make_archive(output_filename, 'zip', dir_name)
Următoarea comandă vă oferă control asupra fișierelor pe care doriți să le arhivați
ZipFile.write(filename)
Iată pașii pentru a crea fișierul Zip în Python
Pasul 1) Pentru a crea un fișier de arhivă din Python, asigurați-vă că declarația de import este corectă și în ordine. Aici se află declarația de import pentru arhivă
from shutil import make_archive
Explicarea codului
- Importați clasa make_archive din modulul shutil
- Utilizați funcția de împărțire pentru a împărți directorul și numele fișierului din calea către locația fișierului text (guru99)
- Apoi numim modulul "shutil.make_archive (" arhiva guru99, "zip", root_dir) "pentru a crea un fișier de arhivă, care va fi în format zip
- După aceea, trecem în directorul rădăcină al lucrurilor pe care dorim să le închidem. Deci, totul din director va fi închis
- Când rulați codul, puteți vedea că fișierul zip arhivă este creat în partea dreaptă a panoului.
Pasul 2)
Acum fișierul dvs. archive.zip va apărea pe sistemul dvs. de operare (Windows Explorer)
Pasul 3) Când faceți dublu clic pe fișier, veți vedea lista tuturor fișierelor de acolo.
Pasul 4) În Python putem avea mai mult control asupra arhivei, deoarece putem defini ce fișier specific să includem în arhivă. În cazul nostru, vom include două fișiere sub arhiva „guru99.txt” și „guru99.txt.bak”.
Explicarea codului
- Importați clasa Zipfile din fișierul zip modulul Python. Acest modul oferă control deplin asupra creării fișierelor zip
- Creăm un nou fișier Zip cu nume („testguru99.zip,„ w ”)
- Crearea unei noi clase Zipfile necesită trecerea permisiunii deoarece este un fișier, deci trebuie să scrieți informații în fișier ca newzip
- Am folosit variabila „newzip” pentru a ne referi la fișierul zip pe care l-am creat
- Folosind funcția de scriere a variabilei „newzip”, adăugăm fișierele „guru99.txt” și „guru99.txt.bak” în arhivă
Când executați codul, puteți vedea că fișierul este creat în partea dreaptă a panoului cu numele „guru99.zip”
Notă : Aici nu dăm nicio comandă pentru „închiderea” fișierului, cum ar fi „newzip.close”, deoarece folosim blocarea scopului „With”, astfel încât atunci când programul nu se încadrează în acest domeniu, fișierul va fi curățat și va fi închis automat.
Pasul 5) Când faceți clic dreapta pe fișier (testguru99.zip) și -> selectați sistemul de operare (Windows Explorer) , acesta va afișa fișierele de arhivă în dosar așa cum se arată mai jos.
Când faceți dublu clic pe fișierul „testguru99.zip”, se va deschide o altă fereastră, iar aceasta va afișa fișierele incluse în acesta.
Iată codul complet
Exemplu Python 2
import osimport shutildin importul de fișiere zip ZipFiledin calea de import a sistemului de operaredin importul shutil make_archivedef main ():# Verificați dacă există fișierdacă path.exists ("guru99.txt"):# obține calea către fișierul din directorul curentsrc = path.realpath ("guru99.txt");# redenumiți fișierul originalos.rename ("career.guru99.txt", "guru99.txt")# acum puneți lucrurile într-o arhivă ZIProot_dir, tail = path.split (src)shutil.make_archive ("arhiva guru99", "zip", root_dir)# mai mult control fin asupra fișierelor ZIPcu ZipFile ("testguru99.zip", "w") ca newzip:newzip.write („guru99.txt”)newzip.write ("guru99.txt.bak")dacă __name __ == "__main__":principal()
Exemplu Python 3
import osimport shutildin importul de fișiere zip ZipFiledin calea de import a sistemului de operaredin importul shutil make_archive# Verificați dacă există fișierdacă path.exists ("guru99.txt"):# obține calea către fișierul din directorul curentsrc = path.realpath ("guru99.txt");# redenumiți fișierul originalos.rename ("career.guru99.txt", "guru99.txt")# acum puneți lucrurile într-o arhivă ZIProot_dir, tail = path.split (src)shutil.make_archive ("arhiva guru99", "zip", root_dir)# mai mult control fin asupra fișierelor ZIPcu ZipFile ("testguru99.zip", "w") ca newzip:newzip.write („guru99.txt”)newzip.write ("guru99.txt.bak")
rezumat
- Pentru a închide întregul director, folosiți comanda „shutil.make_archive („ nume ”,„ zip ”, root_dir)
- Pentru a selecta fișierele de zip, folosiți comanda „ZipFile.write (nume de fișier)”