Python -Tarfile

Python -Tarfile
Das TAR -Dateiformat wird verwendet, um mehrere Dateien in eine Datei zu speichern oder zu archivieren. Dies ist sehr nützlich, wenn Sie eine große Menge/ein Bündel von Dateien an das Netzwerk senden oder übertragen oder wenn wir die älteren Dateien archivieren müssen. Für das UNIX -Betriebssystem wird das Dienstprogramm „Tar“ zuerst eingeführt. Sein Ziel ist es, zahlreiche Dateien in eine Archivdatei zusammenzustellen, die häufig als Tarball bezeichnet wird, so dass es einfach ist, die Daten zu verteilen. Das Tarfile -Modul der Standardbibliothek von Python enthält Funktionen, die beim Erstellen von TAR -Dateien oder -archiven und beim Extrahieren von Daten nach Bedarf vom Tarball helfen. Die Archive können entweder ohne Komprimierung oder mit GZIP, BZ2 und LZMA erstellt werden.

Was ist das Tarfile -Modul in Python??

Wir müssen das Tarfile -Modul nicht explizit installieren, da es Teil der Python Standard Library ist. Alles was wir tun müssen, ist es zu „importieren“. Das Lesen und Schreiben von Teerarchiven kann viel einfacher gemacht werden, als es mit den Methoden des Python -Moduls „Tarfile“ bereitgestellt werden sollte. Das integrierte „Tarfile“ -Modul in Python bietet eine leistungsstarke Schnittstelle zum Schreiben und Lesen von TAR-Dateien.

Dateimodi zum Öffnen der Python -Tar -Dateien

Im Folgenden finden Sie einige Dateimodi, die in Python verwendet werden können, um ein Tarfile zu öffnen:

R: Öffnet eine TAR -Datei zum Lesen.

R: Öffnet eine TAR -Datei und liest eine unkomprimierte Version davon.

W oder W: Ermöglicht unkomprimiertes Schreiben durch Öffnen einer TAR -Datei.

a oder a: Öffnet eine TAR -Datei, sodass die Daten ohne Komprimierung an sie angehängt werden können.

R: GZ: Öffnet eine gzip-komprimierte TAR-Datei zum Lesen.

W: GZ: Öffnet eine gzip-komprimierte TAR-Datei zum Schreiben.

R: BZ2: Öffnet eine bZIP2 -komprimierte Tar -Datei zum Lesen.

W: BZ2: Öffnet eine bZIP2 -komprimierte Tar -Datei zum Schreiben.

Verwenden wir nun das Tarfile -Modul, um zu verstehen, wie es in Python funktioniert.

Erstellen einer TAR -Datei

Mit dem Tarfile -Modul in Python können wir TAR -Dateien erstellen. Öffnen Sie zunächst eine TAR -Datei im Schreibmodus. Fügen Sie dann der TAR -Datei ein Bündel von Dateien oder eine einzige Datei hinzu.

Beispiel 1: Erstellen einer TAR -Datei mithilfe der Funktion open ())

Hier verwenden wir die Funktion open (), um eine TAR -Datei und die Methode add () zu erstellen, um der TAR -Datei andere Dateien hinzuzufügen.

Ausgang

Hier ist die erste Eingabe für die Open () -Methode der Name unserer TAR -Datei, die erstellt werden muss, gefolgt vom Argument „W“ zum Öffnen der Datei (TARFILE) im Schreibmodus. Der Name der Datei, der dem "hinzugefügt werden muss".Die TAR ”-Datei wird in der Methode add () als Eingabe übergeben. Wir archivieren drei Dateien mithilfe der Funktion add () in einem Dateiobjekt in unsere TAR -Datei

Beispiel 2: das Betriebssystem.ListDir () -Funktion zum Erstellen und Listen von Dateien

Die Methode ListDir () gibt eine Liste von Dateien und Verzeichnissen zurück, die sich in einem bestimmten Verzeichnis befinden. Mit dem Tarfile -Modul erstellen wir zunächst unser Tarfile. Anschließend fügen wir die Dateien mit der Funktion add () in unsere TAR -Datei hinzu. Nachdem wir die Dateien zur TAR -Datei hinzugefügt haben, erhalten wir eine Liste von Dateien, die in der “archiviert wurden.Tar ”-Datei mit dem Betriebssystem.ListDir () Funktion. Um diese Funktion zu verwenden, müssen wir das Betriebssystemmodul importieren.

Die TAR -Datei "Ordner" wird erstellt, indem alle Dateien Archivieren im Ordner "Daten" angegeben werden. Die Funktion getNames () gibt die Dateinamen zurück, die in der TAR -Datei „Ordner“ gespeichert sind.

So überprüfen Sie, ob eine Datei Teer ist oder nicht

Mit der Methode is_tarfile () im Tarfile -Modul können wir schnell feststellen, ob eine Datei die “hat.Teer ”Erweiterung.

Wir geben den Namen der „my_file.TAR ”-Datei im Modul is_tarfile (), um zu prüfen, ob es sich um eine TAR -Datei handelt oder nicht. Die Funktion gibt true zurück, was bedeutet, dass die angegebene Datei eine TAR -Datei ist. Lassen Sie uns nach einer anderen Datei suchen.

Seit „Notiz.txt ”ist keine TAR -Datei, die Funktion gibt false als Ausgabe zurück.

Lesen einer TAR -Datei

Die Tarfile -Bibliothek kann Ihnen beim Lesen von TAR -Dateien helfen, ohne sie zuerst zu extrahieren. Das Tarfile.Öffnen (Filepath, Modus) kann verwendet werden, um eine TAR -Datei in Python zu öffnen. Die Datei/der Pfad ist der absolute oder relative Speicherort der Datei, die wir lesen möchten. Anstelle des Modus können verschiedene Arten von Parametern verwendet werden.

Wir können die geöffnete Datei auch im Kompressmodus lesen. Eine Komprimierungsmethode kann optional mit dem Betriebsmodus kombiniert werden. Somit wird der Modus [: Komprimierung] zur neuen Syntax. Die Abkürzungen, die die Komprimierungsmethoden unterstützen, sind wie folgt:

  • GZ für Gzip
  • XZ für LZMA
  • BZ2 für BZ2

Im vorherigen Code eröffnen wir zuerst eine BZ2 -komprimierte TAR -Datei zum Schreiben. Dann öffnen wir die bz2 -komprimierte Tar -Datei zum Lesen.

Überprüfen Sie den Inhalt der TAR -Datei

Mit der Funktion "GetNames () des Tarfile -Moduls können wir den Inhalt einer Tar -Datei anzeigen, ohne sie zu extrahieren. Die Liste der Dateinamen wird durch die Funktion getNames () des Tarfile -Moduls zurückgegeben. Hier öffnen wir die Datei im "Lesen" -Modus, damit "R" als zweites Argument in der Funktion open () angegeben ist.

Wir haben ein „Projekt“.TAR ”Datei im Lesemodus. Die Funktion getNames () gibt die Namen von Dateien zurück, die im „Projekt“ archiviert sind.tar ”Datei. Um die Inhalts-/Dateinamen zu drucken.

Anhängen von Dateien an die TAR -Datei

Verwenden der Funktion add () aus dem Tarfile -Modul können wir eine TAR -Datei direkt hinzufügen, genau wie wir es getan haben, als wir die TAR -Datei erstellt haben. Im Gegensatz zu früheren Beispielen wird „A“ als zweites Argument an die Open () -Methode übergeben, da die Datei im Append -Modus geöffnet werden muss.

Wir nutzen den Append -Modus, um das Projekt zu öffnen.tar ”Datei. Fünf Dateien sind bereits im „Paoject vorhanden.tar ”Datei. Wir fügen drei weitere Dateien mithilfe der Funktion add () im Dateiobjekt hinzu.

Extrahieren einer bestimmten Datei aus einer TAR -Archivdatei

Die Funktion extractFile () der Tarfile -Bibliothek kann verwendet werden, um eine Datei aus einem archivierten Ordner zu extrahieren. Diese Methode akzeptiert den Namen der Datei als Eingabe und extrahiert die angegebene Datei in unser Arbeitsverzeichnis. Wenn Sie mehr als eine Datei extrahieren möchten, müssen Sie die ExtractFile () mehrmals aufrufen. Bei der Extraktion eines Mitglieds als Dateiobjekt aus dem Archiv könnte ein Mitglied ein Tarinfo -Objekt oder ein Dateiname sein. Ein „io.Das Objekt des BufferedReaders gibt zurück, wenn ein Mitglied eine normale Datei oder ein Link ist. Für alle anderen bestehenden/aktuellen Mitglieder wird keiner vorgestellt. Der KeyError wird angehoben, wenn in der Archivdatei ein Mitglied fehlt.

Die Bücher.Die XML -Datei wird aus dem Projekt extrahiert.tar ”Datei.

Extrahieren Sie alle Dateien aus der TAR -Datei

Die Funktion extractall () der Tarfile -Bibliothek kann verwendet werden, um die gesamte Reißverschlussdatei zu extrahieren, anstatt nur eine bestimmte Datei. Das folgende Bild zeigt das Verzeichnis, bevor die Dateien der archivierten Datei extrahiert werden.

Der gesamte Inhalt der TAR -Datei wird in unserem aktuellen Verzeichnis, den „Daten“, nach der Methode Extractall () in den Ordner extrahiert. Lassen Sie uns nun die Dateien der archivierten Datei in diesen Ordner extrahieren.

Ausgang

Die Funktion extrahierte erfolgreich alle Dateien an den angegebenen Ordner.

Abschluss

In diesem Artikel haben wir gelernt, welche TAR -Dateien oder TAR -Archive es sind und wie das Tarfile -Modul von Python verwendet wird, um die TAR -Dateien zu erstellen, zugreifen und verwalten. Wir haben die Dateimodi gelernt, mit denen wir die TAR -Dateien im Lesen, Schreiben und Kompressionsmodi öffnen können. Wir haben die Methoden erläutert, um die Dateien nach dem Archivieren in TAR aufzulisten. Wir haben besprochen, wie die Dateien in der TAR -Datei angehängt werden können. Außerdem haben wir erfahren, wie eine bestimmte Datei oder alle Dateien in das aktuelle Verzeichnis extrahiert werden können.