Python Tempfile -Modul

Python Tempfile -Modul
Oft müssen wir in unseren Programmen einige vorübergehende Informationen über den Zustand des Programms und die Objekte speichern, die möglicherweise über den Zustand des Programms selbst hinausgehen oder nicht. Die Daten, die in diesen Dateien gespeichert sind Sicherheit des Systems. Wir müssen also eine Logik erstellen, die diese Dateien erstellt, einige Daten schreiben und dann auch die Dateien löschen. Was wäre, wenn es etwas gäbe, das so viele Operationen in unserem Programm abstrahiert?? Es scheint, als ob es in Python ein Modul für dasselbe gibt, die tempfile Modul.

Beispiele mit Tempfile -Modul

Wir werden mit einfachen Beispielen mit der Python beginnen tempfile Modul hier.

Erstellen temporärer Dateien

Das erste, was zum Speichern von temporären Daten erforderlich ist, sind die Dateien, in denen wir diese Daten speichern können. Dies kann mit dem durchgeführt werden Temporäre Datei() Funktion. Der größte Vorteil bei dieser Funktion besteht darin.

Schauen wir uns ein einfaches Programm an, das das nutzt Temporäre Datei() Funktion:

OS importieren
tempfile importieren
# Verwenden Sie PID im Dateinamen für eine bessere Identifizierung
Datei = '/tmp/linuxhint_%s.TXT ' % OS.getPid ()
# Dateimodus bereitstellen
temp_file = open (Datei, 'W+B')
versuchen:
print ('temp_file: 0'.Format (temp_file))
print ('temp_file.Name: 0 '.Format (temp_file.Name))
Endlich:
temp_file.schließen()
# Selbst löschen
Betriebssystem.Datei löschen)
print ('temporaryFile metadata:')
temp_file = tempfile.Temporäre Datei()
versuchen:
print ('temp_file: 0'.Format (temp_file))
print ('temp_file.Name: 0 '.Format (temp_file.Name))
Endlich:
# Reinigt die Datei, wenn die Schließung aufgerufen wird
temp_file.schließen()

Hier ist, was wir mit diesem Befehl zurückbekommen:

Temporäre Datei erstellen

Diese Datei wird so schnell wie die gelöscht schließen() Funktion wird auf die aufgerufen tempfile Referenz.

Lesen aus der temporären Datei

Sogar das Lesen aus einer temporären Datei ist einfach und kann in einem einzigen Methodenaufruf im selben Modul durchgeführt werden. Der Vorteil dieser Funktion ist das Es hilft uns, komplexe IO -Operationen zu vermeiden beteiligt, wenn wir diese Operationen manuell ausführen müssen. Hier ist ein Programm, das diese Funktion in Aktion zeigt:

OS importieren
tempfile importieren
tempfile = tempfile.Temporäre Datei()
versuchen:
print ('Daten in tempfile schreiben:')
tempfile.Schreiben Sie (B'any -Daten können hier gehen.'))
tempfile.suchen (0)
print ('Datenformular Tempfile: \ n \ t 0'.Format (tempfile.lesen()))
Endlich:
tempfile.schließen()

Sehen wir uns die Ausgabe für diesen Befehl an:

Python las aus der temporären Datei

Alle Text in den temporären Dateien wurden mit einem einzigen Methodenaufruf zurückgelegt.

Schreiben von einfachem Text in eine temporäre Datei

In unseren oben genannten Programmen befanden sich alle Daten, die in Dateien geschrieben wurden. Wenn wir dies für einfache Textvorgänge tun möchten, können wir den Dateimodus einfach ändern, wenn wir die temporäre Datei für Änderungen öffnen:

tempfile importieren
fileMode = 'w+t'
mit tempfile.TemporaryFile (modus = fileMode) als Datei:
Datei.WriteLines (['Linux \ n', 'Ubuntu \ n'])
Datei.suchen (0)
Für Element in Datei:
Druck (Artikel.rstrip ())

Hier ist, was wir mit diesem Befehl zurückbekommen:

Einfacher Text in die Datei schreiben

Erstellen benannter temporärer Dateien

Die Dateien, die über mehrere Prozesse überspannt werden müssen. So können wir eine temporäre benannte Datei erstellen:

OS importieren
tempfile importieren
tempfile = tempfile.NamedTemporaryFile ()
versuchen:
print ('tempfile: 0'.Format (tempfile))
drucken ('Temperatur.tempfile: 0 '.Format (tempfile.Name))
Endlich:
# Auch die Datei löschen
tempfile.schließen()
print ('existiert existiert? : 0 '.Format (Betriebssystem.Weg.existiert (tempfile.Name)))

Sehen wir uns die Ausgabe für diesen Befehl an:

Benannt Tempfile

Wenn wir die Datei nicht löschen, können wir nach ihrer Existenz in einem anderen Programm nachsehen und sie verwenden, wenn sie am angegebenen Ort vorhanden ist.

Bereitstellung von Dateinamensuffix und Präfix

Um die Dateien einfach zu identifizieren, die zu unseren eigenen Prozessen im Dateisystem gehört, können wir Suffix und Präfix auch auf den Dateinamen anwenden:

tempfile importieren
tempfile = tempfile.NamedTemporaryFile (Suffix = '_ Ubuntu' ',
Präfix = 'LinuxHint_',
Dir = '/tmp',))
versuchen:
print ('tempfile:', tempfile)
print ('tempfile.Name: ', tempfile.Name)
Endlich:
tempfile.schließen()

Hier ist, was wir mit diesem Befehl zurückbekommen:

Anwenden von Präfix und Suffix auf Dateinamen

Wir haben der Methode drei Parameter bereitgestellt, die als Suffix und Präfix für den Dateinamen fungiert.

Abschluss

In dieser Lektion haben wir uns angesehen, wie wir das Python Tempfile -Modul verwenden können, um temporäre Dateien in unserem Code zu verwalten. Lesen Sie hier mehr Python -basierte Beiträge.