Python Tempfile Modul

Das tempfile-Modul erstellt temporäre Dateien und Verzeichnisse sicher.

import tempfile

Verwende tempfile für Daten, die nur während der Laufzeit deines Programms existieren sollen, etwa Testergebnisse, Downloads oder Zwischendateien.

TemporaryFile()

TemporaryFile erstellt ein Dateiobjekt, das automatisch aufgeräumt wird.

import tempfile

with tempfile.TemporaryFile(mode='w+t') as temp:
    temp.write('hello')
    temp.seek(0)
    print(temp.read())
hello

Die Datei wird automatisch entfernt, wenn der with-Block endet.

NamedTemporaryFile()

NamedTemporaryFile gibt dir einen Pfad auf der Festplatte.

import tempfile

with tempfile.NamedTemporaryFile(mode='w+t') as temp:
    print(bool(temp.name))
True

Das ist nützlich, wenn eine andere API einen Dateinamen statt eines Dateiobjekts benötigt.

TemporaryDirectory()

Temporäre Verzeichnisse sind nützlich für Tests und kurzlebige Arbeitsbereiche.

import tempfile
from pathlib import Path

with tempfile.TemporaryDirectory() as directory:
    file_path = Path(directory) / 'notes.txt'
    file_path.write_text('draft')
    print(file_path.exists())
True

Dateien im Verzeichnis werden zusammen mit dem Verzeichnis entfernt, wenn der Block endet.

Einen temporären Speicherort wählen

gettempdir() zeigt das Verzeichnis, das Python standardmäßig verwendet.

import tempfile

print(bool(tempfile.gettempdir()))
True