Python ZIP-bestand met Voorbeeld
Met Python kun je snel zip/tar-archieven maken.
Het volgende commando zal de hele map zippen
shutil.make_archive(output_filename, 'zip', dir_name)
Het volgende commando geeft je controle over de bestanden die je wilt archiveren
ZipFile.write(filename)
Hier zijn de stappen om een zipbestand te maken in Python
Stap 1) Om een archiefbestand van Python te maken, moet u ervoor zorgen dat uw importstatement correct en in orde is. Hier is de importverklaring voor het archief from shutil import make_archive
Code Uitleg
- Importeer make_archive klasse uit module Shutil
- Gebruik de split-functie om de map en de bestandsnaam op te splitsen van het pad naar de locatie van het tekstbestand (guru99)
- Vervolgens noemen we de module "shutil.make_archive("guru99 archive, "zip", root_dir)" om een archiefbestand te maken, dat in zip-formaat zal zijn
- Daarna geven we de hoofdmap door van dingen die we willen inpakken. Dus alles in de map wordt gezipt
- Als je de code uitvoert, zie je aan de rechterkant van het paneel dat het archiefzipbestand is aangemaakt.
Stap 2) Zodra uw archiefbestand is gemaakt, kunt u met de rechtermuisknop op het bestand klikken en het besturingssysteem selecteren, waarna uw archiefbestanden erin worden weergegeven, zoals hieronder weergegeven
Nu verschijnt uw archive.zip-bestand op uw besturingssysteem (Windows Verkenner)
Stap 3) Als u dubbelklikt op het bestand, ziet u de lijst met alle bestanden daarin.
Stap 4) In Python kunnen we meer controle hebben over het archief, omdat we kunnen definiëren welk specifiek bestand onder archief moet worden opgenomen. In ons geval zullen we twee bestanden opnemen onder archief “guru99.txt” en “guru99.txt.bak”.
Code Uitleg
- Importeer Zipfile-klasse uit de Python-module met zipbestand. Deze module geeft volledige controle over het maken van zip-bestanden
- We maken een nieuw zipbestand met naam ("testguru99.zip, "w")
- Het maken van een nieuwe Zipfile-klasse vereist toestemming omdat het een bestand is, dus je moet informatie in het bestand schrijven als newzip
- We hebben de variabele "newzip" gebruikt om te verwijzen naar het zip-bestand dat we hebben gemaakt
- Met behulp van de schrijffunctie op de variabele "newzip" voegen we de bestanden "guru99.txt" en "guru99.txt.bak" toe aan het archief
Wanneer u de code uitvoert, kunt u zien dat het bestand is gemaakt aan de rechterkant van het paneel met de naam "guru99.zip"
Opmerking :Hier geven we geen commando om het bestand te "sluiten", zoals "newzip.close" omdat we "With" scope lock gebruiken, dus als het programma buiten deze scope valt, wordt het bestand opgeschoond en automatisch gesloten.
Stap 5) Wanneer u -> rechtsklikt op bestand (testguru99.zip) en -> uw besturingssysteem selecteert (Windows Verkenner) , het toont de archiefbestanden in de map zoals hieronder weergegeven.
Als u dubbelklikt op het bestand "testguru99.zip", opent een ander venster en worden de bestanden weergegeven die erin zijn opgenomen.
Hier is de volledige code
Python 2 voorbeeld
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 voorbeeld
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")
Samenvatting
- Gebruik het commando "shutil.make_archive("name","zip", root_dir) om de hele map te zippen
- Gebruik het commando "ZipFile.write(filename)" . om de bestanden te selecteren die u wilt zippen
Python
- Python-bestand I/O
- Java BufferedReader:hoe een bestand in Java te lezen met voorbeeld
- Python String strip() Functie met VOORBEELD
- Python String count() met VOORBEELDEN
- Python round() functie met VOORBEELDEN
- Python map() functie met VOORBEELDEN
- Python Timeit() met voorbeelden
- Python-teller in verzamelingen met voorbeeld
- Python List count() met VOORBEELDEN
- Python Lijst index() met Voorbeeld
- Python - Extensie programmeren met C