Lesen Sie die gzip-Datei in Python

Zeeshan Afridi 21 Juni 2023
  1. das gzip-Modul in Python
  2. Bedeutung der Komprimierung einer Datei
  3. Komprimieren Sie eine Datei mit gzip in Python
  4. Aus einer gzip-Datei in Python lesen
  5. Dekomprimieren Sie die gzip-Datei in Python
Lesen Sie die gzip-Datei in Python

Dieses Tutorial erläutert die Wichtigkeit des Komprimierens einer Datei und veranschaulicht, wie eine Datei mit dem gzip-Modul von Python komprimiert und dekomprimiert wird.

das gzip-Modul in Python

Dieses Modul bietet eine unkomplizierte Schnittstelle zum Komprimieren und Dekomprimieren von Dateien wie die GNU-Programmierer gzip und gunzip. Das Modul gzip bietet die Klasse GzipFile sowie die Komfortmethoden open(), compress() und decompress().

Das gzip-Modul liest und schreibt Dateien im gzip-Format und komprimiert oder dekomprimiert den Inhalt, um ihn wie herkömmliche Dateiobjekte erscheinen zu lassen.

gzip ist eines der am weitesten verbreiteten Dateikomprimierungs-/-dekomprimierungsformate. Textdateien können durch die Verwendung von gzip-Komprimierung erheblich Speicherplatz sparen. Bei der Arbeit mit großen Datendateien ist es üblich, große Textdateien zu gzip oder zu komprimieren, um die Dateigröße zu reduzieren.

Das Entpacken einer komprimierten gzip-Datei und das zeilenweise Bearbeiten einer viel grösseren entpackten Datei ist grundlegend für die Arbeit mit komprimierten Dateien. Dies kann jedoch nicht die beste Option sein.

Bedeutung der Komprimierung einer Datei

Reduzierte Speicherhardware, Datenübertragungszeiten und Kommunikationsbandbreite sind nur einige Vorteile der Komprimierung. Darüber hinaus kann dies zu erheblichen finanziellen Einsparungen führen.

Komprimierte Dateien benötigen viel weniger Speicherplatz als unkomprimierte, was die Speicherkosten erheblich reduziert. Außerdem wird eine komprimierte Datei schneller übertragen, während weniger Netzwerkkapazität verwendet wird.

Dies kann Kosten sparen und gleichzeitig die Produktivität steigern. Der Hauptnachteil der Datenkomprimierung besteht darin, dass sie mehr Rechenleistung benötigt, um die erforderlichen Daten zu komprimieren.

Daher legen Komprimierungsanbieter großen Wert auf die Maximierung von Geschwindigkeit und Ressourceneffizienz, um die Auswirkungen intensiver Komprimierungsaktivitäten zu verringern. Dadurch können Kosten gesenkt werden, während die Produktivität steigt.

Komprimieren Sie eine Datei mit gzip in Python

Im folgenden Beispiel bedeutet das Öffnen einer Textdatei im wb-Modus, dass die Datei zum Schreiben im Binärmodus geöffnet ist. Hier wird also die Datei test.txt in test.txt.gz geändert.

Beispielcode:

import gzip

f_in = open("test.txt", "rb")
f_out = gzip.open("test.txt.gz", "wb")
f_out.writelines(f_in)
f_out.close()
f_in.close()
print("The file is compressed.")

Ausgang:

The file is compressed.

Datenergänzung bei Verwendung des gzip-Moduls

Im folgenden Code wird gezeigt, dass wir alle gewünschten Daten in die vorhandene Datei test.txt.gz hinzufügen können, aber wir können Daten nur im Binärmodus hinzufügen, also haben wir am Anfang b verwendet des Textes, und eine Meldung wird angezeigt erfolgreich hinzugefügt.

Beispielcode:

import gzip

data = b"Information included in this file."
with gzip.open("test.txt.gz", "wb") as f:
    f.write(data)
    print("successfully added")

Ausgang:

successfully added

Aus einer gzip-Datei in Python lesen

Wir können die Datei im folgenden Code lesen, da wir Text im Binärformat hinzugefügt haben. Dann wird dieser Text wie gezeigt in der Ausgabe angezeigt. Die Binärdatei wird zum Lesen im rb-Modus geöffnet, also haben wir rb für die Eröffnungsdatei verwendet.

Beispielcode:

import gzip

with gzip.open("test.txt.gz", "rb") as f:
    for line in f:
        print(line)

Ausgang:

b'Information included in this file.'

Dekomprimieren Sie die gzip-Datei in Python

Im folgenden Beispiel öffnen wir zuerst die entpackte Datei, dann die gezippte Datei und kopieren dann mit shutil die Objekte aus der entpackten Datei in die gezippte Datei.

Beispielcode:

import gzip
import shutil

with gzip.open("test.txt.gz", "rb") as f_in:
    with open("test.txt", "wb") as f_out:
        shutil.copyfileobj(f_in, f_out)
print("The file is Decompressed.")

Ausgang:

The file is Decompressed.

Hier sind ein paar wichtige Dinge, die Sie beachten müssen. Um eine gzip-Datei zu erstellen, müssen wir zunächst eine Textdatei in eine gz-Datei konvertieren; Grundsätzlich müssen Sie die Datei komprimieren.

Sie können die Datei nur im Binärmodus wb schreiben, die Datei im Binärmodus rb lesen und die komprimierte Datei dekomprimieren.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Verwandter Artikel - Python File