Python Fișier ZIP cu Exemplu
⚡ Rezumat inteligent
Python creează arhive ZIP cu modulele shutil și zipfile încorporate. Aici veți învăța să comprimați un director întreg folosind make_archive(), să comprimați fișiere specifice cu ZipFile și ex.tract, listează și citește conținutul arhivei.

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)
Cum să comprimiți un director întreg în format ZIP Python
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
Code Explicație
- 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
Acum, fișierul archive.zip va apărea pe sistemul de operare (Windows Explorer)
Pas 3) Când faceți dublu clic pe fișier, veți vedea lista cu toate fișierele de acolo.
Cum se comprimă anumite fișiere folosind ZipFile
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” și „guru99.txt.bak”.
Code Explicație
- 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.
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.
Completa Python Code pentru a crea un 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")
Cum să faci un extracDezarhivați un fișier ZIP în Python
Pentru a dezarhiva o arhivă, deschideți-o în modul de citire cu ZipFile și apelați extracînalt() către extracfiecare fișier sau ex.tract() pentru a extrage un singur membru.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: myzip.extractall("extracted_files")
FostultracMetoda tall() scrie toate fișierele arhivate în folderul pe care îl transmiteți ca argument.
Cum să listați fișierele într-un fișier ZIP Archive
Puteți inspecta o arhivă fără extracMetoda namelist() returnează numele fiecărui fișier stocat în arhiva ZIP.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: print(myzip.namelist())
Aceasta afișează o listă cu numele fișierelor conținute în arhivă.
Cum să citești un fișier dintr-un ZIP Archive
Puteți citi un fișier de membru direct din arhivă fără a dezarhiva.ping pe disc folosind metoda open() din ZipFile.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: with myzip.open("guru99.txt") as f: print(f.read())
Acest lucru este util atunci când aveți nevoie doar de conținutul unui singur fișier dintr-o arhivă mare.







