Python Fișier ZIP cu Exemplu

Python vă permite să creați rapid arhive zip/tar.

Următoarea comandă va arhiva î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

Pas 1) Pentru a crea un fișier de arhivă din Python, asigurați-vă că aveți declarația de import corectă și în ordine. Aici este declarația de import pentru arhivă from shutil import make_archive

Python fișier Zip

Explicarea codului

  • Importă clasa make_archive din modulul Shuil
  • Utilizați funcția de împărțire pentru a împărți directorul și numele fișierului de la calea la locația fișierului text (guru99)
  • Apoi numim modulul „shutil.make_archive(“guru99 archive, „zip”, root_dir)” pentru a crea fișierul arhivă, care va fi în format zip
  • După aceea trecem în directorul rădăcină a lucrurilor pe care vrem să le arhivam. Deci, totul din director va fi arhivat
  • Când rulați codul, puteți vedea că fișierul zip de arhivă este creat în partea dreaptă a panoului.

Pas 2) Odată ce fișierul dvs. de arhivă este creat, puteți face clic dreapta pe fișier și selecta sistemul de operare, iar acesta va afișa fișierele dvs. de arhivă în el, așa cum se arată mai jos

Python fișier Zip

Acum, fișierul archive.zip va apărea pe sistemul de operare (Windows Explorer)

Python fișier Zip

Pas 3) Când faceți dublu clic pe fișier, veți vedea lista cu toate fișierele de acolo.

Python fișier Zip

Pas 4) In 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 în arhivă „guru99.txt” si „guru99.txt.bak”.

Python fișier Zip

Explicarea codului

  • Importați clasa Zipfile din fișierul zip Python modul. 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ă permisiunea pentru că este un fișier, așa că trebuie să scrieți informații în fișier ca newzip
  • Am folosit variabila „newzip” pentru a face referire 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”

notițe: Aici nu dăm nicio comandă de „închidere” a fișierului, cum ar fi „newzip.close”, deoarece folosim blocarea domeniului „Cu”, așa că atunci când programul se încadrează în acest domeniu, fișierul va fi curățat și se va închide automat.

Pas 5) Cand tu -> faceți clic dreapta pe fișier (testguru99.zip) și -> selectați sistemul de operare (Windows Explorer), va afișa fișierele de arhivă din folder, așa cum se arată mai jos.

Python fișier Zip

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 el.

Python fișier Zip

Aici este codul complet

Python 2 Exemplu

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 Exemplu

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")

Rezumat

  • Pentru a arhiva întregul director, utilizați comanda „shutil.make_archive(“nume”,”zip”, root_dir)
  • Pentru a selecta fișierele de zip, utilizați comanda „ZipFile.write(filename)”