Pytonorm

Python Zip-fil

Python Zip-fil

Python är ett programmeringsspråk för allmänt ändamål. Det används ofta i maskininlärning, djupinlärning, artificiell intelligens och datavetenskapsprojekt. Python är laddad med praktiska inbyggda moduler, funktioner och uttalanden. Därför hjälper det programmerarna mycket att utföra många typer av uppgifter. Att utföra den filrelaterade uppgiften i Python är super enkelt på grund av tillgängligheten av relaterade moduler. Vi kan utföra alla typer av filrelaterade uppgifter, dvs.e., läsa, skriva, söka och radera en fil.

ZIP är ett populärt format av filer som erbjuder komprimering utan förlust. En ZIP-fil innehåller en eller flera komprimerade filer och är en enda fil. Kompressionsalgoritmerna säkerställer att vi kan återskapa den faktiska informationen från de komprimerade data utan förlust. Det finns flera fördelar med att använda zip-filen. Genom att använda zip-filerna kan vi lägga alla relaterade data i en enda fil med minskad filstorlek. Kryptering kan också tillämpas när du skapar zip-filer. ZIP-filer skapas oftast och används när vi behöver överföra data via onlinekällor som sociala medier och e-post. Det säkerställer den snabbaste leveransen av data. Python tillhandahåller en inbyggd zipfile-modul för att arbeta med ZIP-filer. I den här guiden lär vi oss att utföra olika zip-filrelaterade uppgifter med exempel.

Skapa en zipfil

Låt oss skapa en zipfil för flera relaterade filer.

#importing zipfile module
från zipfile importera ZipFile
#specifying the path of files
myfiles = ['/ home / linuxhint / Documents / myfile.txt ',' / home / linuxhint / Documents / myfile1.Text']
#specifying namnet på zip-filen och sökvägen till zip-filen
med ZipFile ('myzipfile.zip ',' w ') som zip:
för jag i mina filer:
#wiring zip-filer
blixtlås.skriv (i)
skriva ut ("Zip-filen har skapats framgångsrikt")

Produktion
En ZIP-fil har skapats framgångsrikt.

OK! Låt oss nu förstå den ovan angivna koden för att skapa en ZIP-fil.

#importing av zipfile-modulen
från zipfile importera ZipFile

I den här kodraden har vi importerat ZipFile-klassen från zipfile-modulen. ZipFile-klassen används för att skriva ZIP-filen. Vi behöver inte använda de andra klasserna zipfile för att skapa en ZIP-fil.

#specifying the path of files
myfiles = ['/ home / linuxhint / Documents / myfile.txt ',' / home / linuxhint / Documents / myfile1.Text']

Här har vi skapat en lista med filer som innehåller sökvägen till filer som ska komprimeras.

#specifying namnet på zip-filen och sökvägen till zip-filen
med ZipFile ('myzipfile.zip ',' w ') som zip:
för jag i mina filer:
#wiring zip-filer
blixtlås.skriv (i)

I detta kodblock har vi skapat och öppnat en ZIP-fil i skrivläge. Namnet på den nyligen skapade ZIP-filen är 'myzipfile.zip ', och den skapas i den aktuella arbetskatalogen. Om du vill skapa ZIP-filen i en annan katalog anger du sökvägen till den katalogen med ZIP-filnamnet. Skriv () är en inbyggd funktion som skriver filen i en ZIP-fil. För att skapa en zip-fil för alla filer i en specifik mapp eller katalog behöver vi åtkomst till kataloger och underkataloger. Därför måste vi importera os-modulen och samt zipfile-modulen i vårt Python-skript. Låt oss skapa en ZIP-fil med alla filer som placeras i den angivna katalogen.

# importerar ZipFile-klassen från zipfile-modulen
från zipfile importera ZipFile
#importing av os-modulen
importera os
# en lista o lagra filnamnet som ska komprimeras
myfiles = []
för root, kataloger, filer i os.walk ("/ home / linuxhint / Documents / myfolder"):
för filnamn i filer:
# gå med i strängarna för att göra filbanan
filpath = os.väg.gå med (root, filnamn)
mina filer.append (filepath)
print ("De filer som ska komprimeras är:")
skriva ut (myfiles)
med ZipFile ("/ home / linuxhint / Downloads / myzipfile.zip ", 'w') som zipObj:
för jag i mina filer:
# skriva filerna
zipObj.skriv (i)
skriv ut ("ZIP-filen har skapats framgångsrikt")

Produktion

Låt oss dela upp ovanstående kod i bitar och försöka förstå den.

myfiles = []
för root, kataloger, filer i os.walk ("/ home / linuxhint / Documents / myfolder"):
för filnamn i filer:
# gå med i strängarna för att göra filbanan
filpath = os.väg.gå med (root, filnamn)
mina filer.append (filepath)
print ("De filer som ska komprimeras är:")
skriva ut (myfiles)

I kodblocket har vi först och främst skapat en tom lista för att lagra sökvägen till alla filer som ska komprimeras.  Vi har använt os. walk () -funktion för att få sökvägen till alla filer. For-loop implementeras för att få filvägen och lagra den i vår lista.

med ZipFile ("\ home \ linuxhint \ Downloads \ myzipfile.zip ", 'w') som zipObj:

I detta kodblock har vi skapat ett filobjekt och lagt till sökvägen till ZIP-filen som ska skapas. Filen öppnas i skrivande stämning.

för jag i mina filer:
# skriva filerna
zipObj.skriv (i)
skriv ut ("ZIP-filen har skapats framgångsrikt")

I det ovan angivna kodblocket itererar vi vår lista över filer och skriver alla filer till zip-filen med hjälp av skrivfunktionen ().

OK! Det handlade om att skapa ZIP-filer i Python.

Se ZIP-filinnehåll

Låt oss nu diskutera hur du ser innehållet i ZIP-filen. I lässtämningen öppnar vi ZIP-filobjektet för att visa innehållet i ZIP-filen.

# importerar ZipFile-klassen från zipfile-modulen
från zipfile importera ZipFile
med ZipFile ("/ home / linuxhint / Downloads / myzipfile.zip ", 'r') som zipObj:
zipObj.printdir ()

Funktionen printdir () skriver ut innehållet i ZIP-filen i tabellform.

Produktion
Utdata visar innehållet i ZIP-filen.

Extrahera ZIP-filinnehåll

OK! Nu är vi bekanta med att skapa zip-filer och visa innehållet i ZIP-filer. Nästa punkt är att extrahera ZIP-filinnehållet. Vi kan extrahera ZIP-filinnehållet med hjälp av den inbyggda funktionen extractall (). Låt oss implementera det i vårt Python-skript.

#importing av ZipFile-klassen från zipfile-modulen
från zipfile importera ZipFile
# lagrar sökvägen till zip-filen i en sökvariabel
sökväg = "/ home / linuxhint / Downloads / myzipfile.blixtlås"
med ZipFile (sökväg, 'r') som zipObj:
# Extrahera zip-filinnehållet
zipObj.extrahera ()
skriva ut ("Filerna extraheras framgångsrikt")

Produktion

Slutsats

ZIP är ett populärt filformat som ger förlustfri komprimering. I Python kan vi skapa och extrahera zip-filer med den inbyggda zipfile-modulen. Den här artikeln förklarar zip-filrelaterad uppgift med exempel.

Bästa Linux Distros för spel 2021
Linux-operativsystemet har kommit långt från sitt ursprungliga, enkla, serverbaserade utseende. Detta operativsystem har förbättrats enormt de senaste...
Hur du fångar och strömmar din spelsession på Linux
Tidigare betraktades spel bara som en hobby, men med tiden såg spelindustrin en enorm tillväxt när det gäller teknik och antalet spelare. Spelpubliken...
Bästa spel att spela med handspårning
Oculus Quest introducerade nyligen den fantastiska idén om handspårning utan kontroller. Med ett ständigt ökande antal spel och aktiviteter som utför ...