Python ZIP datoteka s primjerom
โก Pametni saลพetak
Python stvara ZIP arhive s ugraฤenim modulima shutil i zipfile. Ovdje ฤete nauฤiti kako zipirati cijeli direktorij pomoฤu make_archive(), zipirati specifiฤne datoteke pomoฤu ZipFile i extract, popis i ฤitanje sadrลพaja arhive.

Python omoguฤuje vam brzo stvaranje zip/tar arhiva.
Sljedeฤa naredba ฤe komprimirati cijeli direktorij
shutil.make_archive(output_filename, 'zip', dir_name)
Sljedeฤa naredba daje vam kontrolu nad datotekama koje ลพelite arhivirati
ZipFile.write(filename)
Kako komprimirati cijeli direktorij u Python
Evo koraka za stvaranje Zip datoteke Python
Korak 1) Za stvaranje arhivske datoteke iz Python, provjerite je li vaลกa izjava o uvozu toฤna i uredna. Ovdje je izjava o uvozu za arhivu from shutil import make_archive
Code Objaลกnjenje
- Uvoz klase make_archive iz modula shutil
- Upotrijebite funkciju dijeljenja da odvojite direktorij i naziv datoteke od staze do lokacije tekstualne datoteke (guru99)
- Zatim pozivamo modul โshutil.make_archive(โguru99 archive, โzipโ, root_dir)โ za stvaranje arhivske datoteke, koja ฤe biti u zip formatu
- Nakon toga prosljeฤujemo korijenski direktorij stvari koje ลพelimo komprimirati. Tako ฤe sve u imeniku biti komprimirano
- Kada pokrenete kod, moลพete vidjeti da se arhivska zip datoteka stvara na desnoj strani ploฤe.
Korak 2) Nakon ลกto je vaลกa arhivska datoteka napravljena, moลพete desnom tipkom miลกa kliknuti na datoteku i odabrati OS, a on ฤe prikazati vaลกe arhivske datoteke u njoj kao ลกto je prikazano u nastavku
Sada ฤe se vaลกa datoteka archive.zip pojaviti na vaลกem OS-u (Windows Explorer)
Korak 3) Kada dvaput kliknete na datoteku, vidjet ฤete popis svih datoteka koje se tamo nalaze.
Kako komprimirati odreฤene datoteke pomoฤu ZipFilea
Korak 4) In Python moลพemo imati veฤu kontrolu nad arhivom buduฤi da moลพemo definirati koju ฤemo datoteku ukljuฤiti u arhivu. U naลกem sluฤaju, u arhivu ฤemo ukljuฤiti dvije datoteke โguru99.txtโ i โguru99.txt.bakโ.
Code Objaลกnjenje
- Uvoz Zipfile klase iz zip datoteke Python modul. Ovaj modul daje potpunu kontrolu nad stvaranjem zip datoteka
- Stvaramo novu Zip datoteku s imenom ( โtestguru99.zip, โwโ)
- Stvaranje nove klase Zipfile zahtijeva prosljeฤivanje dopuลกtenja jer se radi o datoteci, pa trebate upisati informacije u datoteku kao newzip
- Koristili smo varijablu โnewzipโ za upuฤivanje na zip datoteku koju smo stvorili
- Pomoฤu funkcije pisanja na varijablu โnewzipโ dodajemo datoteke โguru99.txtโ i โguru99.txt.bakโ u arhivu
Kada izvrลกite kod, moลพete vidjeti da je datoteka stvorena na desnoj strani ploฤe s nazivom "guru99.zip"
biljeลกke: Ovdje ne dajemo nikakvu naredbu za โzatvaranjeโ datoteke kao ลกto je โnewzip.closeโ jer koristimo zakljuฤavanje opsega โSโ, tako da kada program padne izvan ovog opsega, datoteka ฤe se oฤistiti i automatski zatvoriti.
Korak 5) Kada -> desni klik na datoteku (testguru99.zip) i -> odaberite svoj OS (Windows Explorer), prikazat ฤe arhivske datoteke u mapi kao ลกto je prikazano u nastavku.
Kada dvaput kliknete na datoteku โtestguru99.zipโ, otvorit ฤe se drugi prozor, a to ฤe prikazati datoteke koje su u njemu ukljuฤene.
potpun Python Code za izradu ZIP datoteke
Ovdje je kompletan kod
Python 2 Primjer
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 Primjer
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")
Kako zavrลกititract (Razpakirajte) ZIP datoteku u Python
Za raspakiranje arhive, otvorite je u naฤinu ฤitanja pomoฤu ZipFile-a i pozovite extracvisok() u npr.tract svaku datoteku ili npr.tract() za izvlaฤenje jednog ฤlana.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: myzip.extractall("extracted_files")
Bivลกi/atracMetoda tall() zapisuje sve arhivirane datoteke u mapu koju prosljeฤujete kao argument.
Kako popisati datoteke u ZIP datoteci Archive
Moลพete pregledati arhivu bez prethodnogtracto. Metoda namelist() vraฤa imena svake datoteke pohranjene unutar ZIP datoteke.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: print(myzip.namelist())
Ovo ispisuje popis naziva datoteka sadrลพanih u arhivi.
Kako proฤitati datoteku unutar ZIP datoteke Archive
Datoteku ฤlana moลพete proฤitati izravno iz arhive bez raspakiranjaping na disk pomoฤu metode open() klase ZipFile.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: with myzip.open("guru99.txt") as f: print(f.read())
Ovo je korisno kada vam je potreban samo sadrลพaj jedne datoteke iz velike arhive.







