Python ZIP -fil

Python ZIP -fil

Python er et generelt programmeringsspråk. Det er mye brukt innen maskinlæring, dyp læring, kunstig intelligens og datavitenskapsprosjekter. Python er lastet med hendige innebygde moduler, funksjoner og utsagn. Derfor hjelper det programmererne mye å utføre mange typer oppgaver. Å utføre den filrelaterte oppgaven i Python er superenkelt på grunn av tilgjengeligheten av relaterte moduler. Vi kan utføre alle typer filrelaterte oppgaver, jeg.e., lese, skrive, søke og slette en fil.

ZIP er et populært format av filer som tilbyr tapsfri komprimering. En ZIP -fil inneholder en eller mange komprimerte filer og er en enkelt fil. Kompresjonsalgoritmene sikrer at vi kan gjenskape de faktiske dataene fra komprimerte data uten tap. Det er flere fordeler ved å bruke zip -filen. Ved å bruke ZIP -filene, kan vi legge alle relaterte data i en enkelt fil med redusert filstørrelse. Kryptering kan også brukes mens du oppretter zip -filer. ZIP -filer opprettes for det meste og brukes når vi trenger å overføre data gjennom online kilder som sosiale medier -applikasjoner og e -post. Det sikrer den raskeste levering av data. Python gir en innebygd Zipfile-modul for å fungere på ZIP-filene. I denne guiden lærer vi å utføre forskjellige zip-filrelaterte oppgaver med eksempler.

Lag en zipfile

La oss lage en Zipfile for flere relaterte filer.

#importing ZipFile -modulen
fra Zipfile Import Zipfile
#Specifying the Path of Files
MyFiles = ['/Home/Linuxhint/Documents/MyFile.TXT ','/Home/Linuxhint/Documents/MyFile1.tekst']
#Specifying Navnet på zip og sti på zip -filen
med zipfile ('myzipfile.Zip ',' w ') som glidelås:
for jeg i myfiler:
#wiring ZIP -filer
glidelås.Skriv (i)
print ("ZIP -filen er opprettet med hell")

Produksjon
En ZIP -fil opprettes vellykket.

Ok! La oss nå forstå den ovennevnte koden for å lage en zip-fil.

#importing ZipFile -modulen
fra Zipfile Import Zipfile

I denne kodelinjen har vi importert Zipfile -klassen fra Zipfile -modulen. Zipfile -klassen brukes til å skrive zip -filen. Vi trenger ikke å bruke de andre zipfile -klassene for å lage en zip -fil.

#Specifying the Path of Files
MyFiles = ['/Home/Linuxhint/Documents/MyFile.TXT ','/Home/Linuxhint/Documents/MyFile1.tekst']

Her har vi laget en liste over filer som inneholder banen til filer som skal komprimeres.

#Specifying Navnet på zip og sti på zip -filen
med zipfile ('myzipfile.Zip ',' w ') som glidelås:
for jeg i myfiler:
#wiring ZIP -filer
glidelås.Skriv (i)

I denne kodeblokken har vi opprettet og åpnet en zip -fil i skrivemodus. Navnet på den nyopprettede zip -filen er 'Myzipfile.Zip ', og den er opprettet i den nåværende arbeidskatalogen. Hvis du ønsker å opprette ZIP -filen i en annen katalog, kan du spesifisere banen til den katalogen med ZIP -filnavnet. Skrivingen () er en innebygd funksjon som skriver filen i en zip-fil. For å lage en zip -fil for alle filer i en bestemt mappe eller katalog, trenger vi tilgang til kataloger og underkataloger. Derfor må vi importere OS -modulen, så vel som Zipfile -modulen i Python -skriptet vårt. La oss lage en zip -fil av alle filene som er plassert i den spesifiserte katalogen.

# Importere Zipfile -klassen fra Zipfile -modulen
fra Zipfile Import Zipfile
#importing av OS -modulen
Importer OS
# en liste o Lagre filen Navnet som skal komprimeres
myfiles = []
for rot, kataloger, filer i OS.Walk ("/Home/Linuxhint/Documents/MyFolder"):
For filnavn i filer:
# Bli med i strengene for å lage filepaten
filepath = OS.sti.Bli med (rot, filnavn)
mine filer.vedlegg (filepat)
Print ("Filene som skal komprimeres er:")
Print (Myfiles)
Med Zipfile ("/Home/Linuxhint/Downloads/Myzipfile.Zip ", 'w') som Zipobj:
for jeg i myfiler:
#Skriv filene
Zipobj.Skriv (i)
print ("ZIP -filen er opprettet med hell")

Produksjon

La oss dele den ovennevnte koden i biter og prøve å forstå den.

myfiles = []
for rot, kataloger, filer i OS.Walk ("/Home/Linuxhint/Documents/MyFolder"):
For filnavn i filer:
# Bli med i strengene for å lage filepaten
filepath = OS.sti.Bli med (rot, filnavn)
mine filer.vedlegg (filepat)
Print ("Filene som skal komprimeres er:")
Print (Myfiles)

I kodeblokken, først og fremst, har vi laget en tom liste for å lagre banen til alle filene som skal komprimeres. Vi har brukt OS. walk () funksjon for å få banen til alle filene. For -loopen implementeres for å få filstien og lagre den på listen vår.

med ZipFile ("\ Home \ Linuxhint \ Last ned \ Myzipfile.Zip ", 'w') som Zipobj:

I denne kodeblokken har vi opprettet et filobjekt og lagt til banen til zip -filen som skal opprettes. Filen åpnes i skrivestemningen.

for jeg i myfiler:
#Skriv filene
Zipobj.Skriv (i)
print ("ZIP -filen er opprettet med hell")

I den ovennevnte kodeblokken itererer vi listen over filer og skriver alle filene til ZIP-filen ved hjelp av skrive- () -funksjonen.

Ok! Det handlet om å lage zip -filene i Python.

Se innhold av zip -filer

La oss nå diskutere hvordan vi kan se innholdet av zip -filen. I lesestemningen vil vi åpne zip -filobjektet for å se innholdet i ZIP -filen.

# Importere Zipfile -klassen fra Zipfile -modulen
fra Zipfile Import Zipfile
Med Zipfile ("/Home/Linuxhint/Downloads/Myzipfile.Zip ", 'r') som Zipobj:
Zipobj.printdir ()

PRINTDIR () -funksjonen skriver ut innholdet i zip -filen i tabellform.

Produksjon
Utgangen viser innholdet i zip -filen.

Pakk ut zip -filinnhold

Ok! Nå er vi kjent med å lage zip -filene og se innholdet i ZIP -filer. Neste punkt er å trekke ut zip -filinnholdet. Vi kan trekke ut zip-filinnholdet ved å bruke ExtractAll () innebygd funksjon. La oss implementere det i Python -skriptet vårt.

#Importing ZipFile -klassen fra ZipFile -modulen
fra Zipfile Import Zipfile
#Storing av banen til zip -filen i en banevariabel
Path = "/Home/Linuxhint/Downloads/MyzipFile.glidelås"
med Zipfile (sti, 'r') som Zipobj:
# Ekstrahering av zip -filinnholdet
Zipobj.trekk ut alt()
utskrift ("Filene blir trukket ut med hell")

Produksjon

Konklusjon

ZIP er et populært filformat som gir tapsfri komprimering. I Python kan vi opprette og trekke ut zip-filene ved hjelp av den innebygde Zipfile-modulen. Denne artikkelen forklarer ZIP -filrelaterte oppgaven med eksempler.