Python

Python-zipbestand

Python-zipbestand

Python is een programmeertaal voor algemene doeleinden. Het wordt veel gebruikt in projecten op het gebied van machine learning, deep learning, kunstmatige intelligentie en datawetenschappen. Python zit boordevol handige ingebouwde modules, functies en instructies. Daarom helpt het de programmeurs veel om veel soorten taken uit te voeren. Het uitvoeren van de bestandsgerelateerde taak in Python is supereenvoudig vanwege de beschikbaarheid van gerelateerde modules. We kunnen elk type bestandsgerelateerde taken uitvoeren, i.e., een bestand lezen, schrijven, zoeken en verwijderen.

ZIP is een populaire bestandsindeling die compressie zonder verlies biedt. Een ZIP-bestand bevat een of meerdere gecomprimeerde bestanden en is een enkel bestand. De compressie-algoritmen zorgen ervoor dat we de daadwerkelijke gegevens van de gecomprimeerde gegevens kunnen recreëren zonder enig verlies. Er zijn verschillende voordelen van het gebruik van het zip-bestand:. Door de zip-bestanden te gebruiken, kunnen we alle gerelateerde gegevens in één enkel bestand plaatsen met een kleinere bestandsgrootte. Versleuteling kan ook worden toegepast tijdens het maken van zip-bestanden. ZIP-bestanden worden meestal gemaakt en gebruikt wanneer we gegevens moeten overdragen via online bronnen zoals sociale-mediatoepassingen en e-mail. Het zorgt voor de snelste levering van gegevens. Python biedt een ingebouwde zipfile-module om aan de ZIP-bestanden te werken. In deze gids zullen we leren om verschillende zip-bestand-gerelateerde taken uit te voeren met voorbeelden.

Maak een zipbestand

Laten we een zipbestand maken voor meerdere gerelateerde bestanden.

#importeren van de zipfile-module
van zipfile import ZipFile
#het pad van bestanden specificeren
mijnbestanden = ['/home/linuxhint/Documenten/mijnbestand.txt', '/home/linuxhint/Documents/mijnbestand1.tekst']
#specificatie van de naam van de zip en het pad van het zipbestand
met ZipFile('mijnzipbestand'.zip', 'w') als zip:
voor ik in mijn bestanden:
#wiring zip-bestanden
zip.schrijf (ik)
print("Het zip-bestand is succesvol aangemaakt")

Uitgang:
Een ZIP-bestand is succesvol aangemaakt.

Oke! Laten we nu de hierboven gegeven code begrijpen voor het maken van een ZIP-bestand.

#importeren van de zipfile-module
van zipfile import ZipFile

In deze regel code hebben we de ZipFile-klasse geïmporteerd uit de zipfile-module. De klasse ZipFile wordt gebruikt om het ZIP-bestand te schrijven. We hoeven de andere klassen van zipfiles niet te gebruiken om een ​​ZIP-bestand te maken.

#het pad van bestanden specificeren
mijnbestanden = ['/home/linuxhint/Documenten/mijnbestand.txt', '/home/linuxhint/Documents/mijnbestand1.tekst']

Hier hebben we een lijst met bestanden gemaakt die het pad bevat van de bestanden die moeten worden gecomprimeerd.

#specificatie van de naam van de zip en het pad van het zip-bestand
met ZipFile('mijnzipbestand'.zip', 'w') als zip:
voor ik in mijn bestanden:
#wiring zip-bestanden
zip.schrijf(ik)

In dit codeblok hebben we een ZIP-bestand gemaakt en geopend in de schrijfmodus. De naam van het nieuw aangemaakte ZIP-bestand is 'myzipfile'.zip', en het wordt aangemaakt in de huidige werkmap. Als u het ZIP-bestand in een andere map wilt maken, specificeert u het pad van die map met de ZIP-bestandsnaam. De write() is een ingebouwde functie die het bestand in een ZIP-bestand schrijft. Om een ​​zip-bestand te maken voor alle bestanden van een specifieke map of directory, hebben we toegang nodig tot directories en subdirectories. Daarom moeten we de os-module importeren en ook de zipfile-module in ons Python-script. Laten we een ZIP-bestand maken van alle bestanden die in de opgegeven map zijn geplaatst.

# de ZipFile-klasse importeren uit de zipfile-module
van zipfile import ZipFile
#importeren van de os-module
importeer os
# een lijst om de bestandsnaam op te slaan die moet worden gecomprimeerd
mijnbestanden = []
voor root, mappen, bestanden in os.walk("/home/linuxhint/Documents/mijnmap"):
voor bestandsnaam in bestanden:
# samenvoegen van de strings om het bestandspad te maken
bestandspad = os.pad.join(root, bestandsnaam)
mijn bestanden.toevoegen (bestandspad)
print("De te comprimeren bestanden zijn: ")
print(mijnbestanden)
met ZipFile("/home/linuxhint/Downloads/myzipfile.zip", 'w') als zipObj:
voor ik in mijn bestanden:
#schrijven van de bestanden
zipObj.schrijf (ik)
print("Het ZIP-bestand is succesvol aangemaakt")

Uitgang:

Laten we de hierboven gegeven code in stukjes verdelen en proberen het te begrijpen.

mijnbestanden = []
voor root, mappen, bestanden in os.walk("/home/linuxhint/Documents/mijnmap"):
voor bestandsnaam in bestanden:
# samenvoegen van de strings om het bestandspad te maken
bestandspad = os.pad.join(root, bestandsnaam)
mijn bestanden.toevoegen (bestandspad)
print("De te comprimeren bestanden zijn: ")
print(mijnbestanden)

In het codeblok hebben we allereerst een lege lijst gemaakt om het pad op te slaan van alle bestanden die moeten worden gecomprimeerd.  We hebben os . gebruikt. walk() functie om het pad van alle bestanden te krijgen. De for-lus is geïmplementeerd om het bestandspad te krijgen en op te slaan in onze lijst.

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

In dit codeblok hebben we een bestandsobject gemaakt en het pad toegevoegd van het te maken ZIP-bestand. Het bestand wordt geopend in de schrijfstemming.

voor ik in mijn bestanden:
#schrijven van de bestanden
zipObj.schrijf (ik)
print("Het ZIP-bestand is succesvol aangemaakt")

In het hierboven gegeven codeblok herhalen we onze lijst met bestanden en schrijven we alle bestanden naar het zipbestand met behulp van de functie write().

Oke! Dat ging allemaal over het maken van de ZIP-bestanden in Python.

Zie inhoud ZIP-bestand

Laten we nu bespreken hoe u de inhoud van het ZIP-bestand kunt zien. In de leesstemming openen we het ZIP-bestandsobject om de inhoud van het ZIP-bestand te bekijken.

# de ZipFile-klasse importeren uit de zipfile-module
van zipfile import ZipFile
met ZipFile("/home/linuxhint/Downloads/myzipfile.zip", 'r') als zipObj:
zipObj.afdrukmap()

De functie printdir() drukt de inhoud van het ZIP-bestand af in tabelvorm.

Uitgang:
De uitvoer toont de inhoud van het ZIP-bestand.

ZIP-bestandsinhoud uitpakken

Oke! Nu zijn we bekend met het maken van zip-bestanden en het bekijken van de inhoud van ZIP-bestanden. Het volgende punt is om de inhoud van het ZIP-bestand uit te pakken. We kunnen de inhoud van het ZIP-bestand extraheren door de ingebouwde functie extractall() te gebruiken. Laten we het implementeren in ons Python-script.

#importeren van de ZipFile-klasse uit de zipfile-module
van zipfile import ZipFile
#opslaan van het pad van het zipbestand in een padvariabele
path="/home/linuxhint/Downloads/mijnzipbestand.zip"
met ZipFile(pad, 'r') als zipObj:
# De inhoud van het zipbestand uitpakken
zipObj.extraheren()
print("De bestanden zijn succesvol uitgepakt")

Uitgang:

Conclusie

ZIP is een populaire bestandsindeling die compressie zonder verlies biedt. In Python kunnen we zip-bestanden maken en uitpakken met behulp van de ingebouwde zipfile-module. Dit artikel legt de aan zip-bestand gerelateerde taak uit met voorbeelden.

Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...