Python tempfile.TemporaryDirectory: удалить временные файлы
TemporaryDirectory создаёт временную папку и удаляет её содержимое при выходе из with, в том числе после исключения. Используйте её в тестах и конвертерах, которым нужны промежуточные файлы.
Рабочий пример
from pathlib import Path
from tempfile import TemporaryDirectory
with TemporaryDirectory(prefix="report-") as temp136:
report136 = Path(temp136) / "result.txt"
report136.write_text("done", encoding="utf-8")
print(report136.read_text(encoding="utf-8")) # done
print(Path(temp136).exists()) # FalseКаталог создаётся в системном temp по умолчанию. Передайте dir=, если временные файлы должны находиться на том же filesystem для последующего atomic rename.
Частый вопрос
Как оставить временный файл после выхода?
Используйте NamedTemporaryFile с delete=False или скопируйте файл в целевой каталог. Затем удалите его самостоятельно после успешной обработки.