Python

Verwenden Sie Python, um eine Datei und ein Verzeichnis zu zippen

Verwenden Sie Python, um eine Datei und ein Verzeichnis zu zippen
Eine komprimierte Datei enthält viele Dateien, Verzeichnisse und Unterverzeichnisse. Viele Anwendungen sind verfügbar, um eine Komprimierungsdatei aus einer beliebigen großen Datei oder einem beliebigen Verzeichnis zu erstellen und Dateien oder Ordner durch Extrahieren einer komprimierten Datei abzurufen. Wenn wir große Dateien oder Ordner über das Internet übertragen möchten, ist es besser, den Inhalt vor der Übertragung zu komprimieren. Das macht die Aufgabe schneller. Sie können Python-Skripte zum Komprimieren und Extrahieren großer Dateien oder Verzeichnisse verwenden. zip-Datei Python-Modul wird verwendet, um die Aufgabe zu erledigen. Wie Sie mit Python3 beliebige Dateien oder Verzeichnisse komprimieren können, wird in diesem Tutorial anhand verschiedener Beispiele gezeigt.

Beispiel-1: Komprimieren einer einzelnen Datei

Erstellen Sie eine neue Datei mit dem Namen 'Postleitzahl1.py' und füge den folgenden Code hinzu. zip-Datei Modul wird importiert, um die Datei zu komprimieren. temp.Postleitzahl wird als ZIP-Dateiname mit Schreibmodus zugewiesen und als nächstes der ursprüngliche Dateiname, temp.TXT und Komprimierungstyp werden als Parameter in der Schreibmethode angegeben.

ZIP-Datei importieren
zip_file = zipfile.ZipFile('temp.zip', 'w')
zip-Datei.schreiben('temp.txt', compress_type=zipfile.PLZ_DEFLATED)
zip-Datei.schließen()

Führen Sie das Skript aus

$ Python3 Postleitzahl1.py

Die Größe von temp.TXT ist 27 Byte und nach der Komprimierung die Größe von temp.Postleitzahl ist 2 Byte.

Beispiel-2: Komprimieren eines bestimmten Verzeichnisses

Erstellen Sie eine neue Datei mit dem Namen 'Postleitzahl2.py' und füge den folgenden Code hinzu. Ein Verzeichnis kann viele Dateien, Ordner und Unterordner enthalten. Um den Inhalt des Verzeichnisses zu lesen, os Python-Modul wird importiert mit zip-Datei Modul zum Komprimieren des Verzeichnisses. In diesem Skript, meindir Verzeichnis wird für die Komprimierung verwendet.

# erforderliche Module importieren
 
Importieren von OS
ZIP-Datei importieren
 
 
# Deklarieren Sie die Funktion, um alle Dateipfade des jeweiligen Verzeichnisses zurückzugeben
def abrufen_datei_pfade(dirName):
 
# Variable für Dateipfade einrichten
Dateipfade = []
 
# Alle Verzeichnisse, Unterverzeichnisse und Dateilisten lesen
für root, verzeichnisse, dateien im os.walk(dirName):
für Dateinamen in Dateien:
# Erstellen Sie den vollständigen Dateipfad mit dem os-Modul.
filePath = os.Pfad.beitreten (root, Dateiname)
filePaths.anhängen(DateiPfad)
 
# alle Pfade zurückgeben
filePaths zurückgeben
 
 
# Deklarieren Sie die Hauptfunktion
def main():
# Weisen Sie den Namen des Verzeichnisses zip zu
dir_name = 'meindir'
 
# Rufen Sie die Funktion auf, um alle Dateien und Ordner des zugewiesenen Verzeichnisses abzurufen
filePaths = Retrieve_file_paths(dir_name)
 
# Drucken der Liste aller zu komprimierenden Dateien
print('Die folgende Dateiliste wird gezippt:')
für fileName in filePaths:
print(Dateiname)
 
# Dateien in eine Zip-Datei schreiben
zip_file = zipfile.ZipFile(dir_name+'.zip', 'w')
mit zip_file:
# jede Datei einzeln schreiben
für Datei in filePaths:
zip-Datei.schreiben (Datei)
 
print(dir_name+'.zip-Datei wurde erfolgreich erstellt!')
 
# Rufen Sie die Hauptfunktion auf
if __name__ == "__main__":
Main()

Führen Sie das Skript aus

$ Python3 Postleitzahl2.py

Die Größe von meindir ist 21 Byte und nach der Komprimierung die Größe von meindir.Postleitzahl ist 2 Byte.

Beispiel-3: Komprimieren eines durch das Befehlszeilenargument angegebenen Verzeichnisses

Erstellen Sie eine neue Datei mit dem Namen 'Postleitzahl3.py' und füge den folgenden Code hinzu. Um den Befehlszeilenwert zu lesen, ein anderes Python-Modul sys wird importiert mit os und zip-Datei Module.

# erforderliche Module importieren
 
Importieren von OS
Importsystem
ZIP-Datei importieren
 
# Deklarieren Sie die Funktion, um alle Dateipfade eines bestimmten Verzeichnisses zurückzugeben
def abrufen_datei_pfade(dirName):
 
# Variable für Dateipfade einrichten
Dateipfade = []
 
# Alle Verzeichnisse, Unterverzeichnisse und Dateilisten lesen
für root, verzeichnisse, dateien im os.walk(dirName):
für Dateinamen in Dateien:
# Erstellen Sie den vollständigen Dateipfad mit dem os-Modul.
filePath = os.Pfad.beitreten (root, Dateiname)
filePaths.anhängen(DateiPfad)
 
# alle Pfade zurückgeben
filePaths zurückgeben
 
 
# Deklarieren Sie die Hauptfunktion
def main():
 
# Überprüfen Sie, ob beim Ausführen des Skripts zwei Argumente angegeben sind given
if len (sys.Argument) != 2 :
print ("Sie haben den Namen des zu zippenden Verzeichnisses eingegeben")
sys.Ausgang (1)
 
# Setze den Verzeichnisnamen aus dem Befehlsargument
dir_name = sys.argv[1]
 
# Legen Sie den ZIP-Dateinamen fest
zipFileName = dir_name + ".Postleitzahl"
 
# Rufen Sie die Funktion auf, um alle Dateien und Ordner des zugewiesenen Verzeichnisses abzurufen
filePaths = Retrieve_file_paths(dir_name)
 
# Liste der zu komprimierenden Dateien drucken
print('Die folgende Dateiliste wird gezippt:')
für fileName in filePaths:
print(Dateiname)
 
# Dateien und Ordner in eine Zip-Datei schreiben
zip_file = zipfile.ZipDatei(zipDateiname, 'w')
mit zip_file:
# jede Datei einzeln schreiben sep
für Datei in filePaths:
zip-Datei.schreiben (Datei)
 
print(zipFileName+' Datei wurde erfolgreich erstellt!')
 
# Rufen Sie die Hauptfunktion auf
if __name__ == "__main__":
Main()

Führen Sie das Skript aus

$ Python3 Postleitzahl3.py

Prüfung wird als Verzeichnisname im Kommandozeilenargument angegeben. Die Größe von Prüfung ist 21 Byte und nach der Komprimierung die Größe von Prüfung.Postleitzahl ist 2 Byte.

Ich hoffe, dieses Tutorial wird Ihnen helfen, Python zum Komprimieren von Dateien oder Verzeichnissen zu verwenden.

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...