Python 3.2+tempfileпонятие
tempfile.TemporaryDirectory
каталоги и пути
Создаёт временный каталог и удаляет его вместе со всем содержимым при выходе из with.
Синтаксис
with tempfile.TemporaryDirectory(suffix=None, prefix=None, dir=None, ignore_cleanup_errors=False, *, delete=True) as path: ...
В with переменная получает строку-путь, а не объект: Path(tmp) / 'a.txt' нужно строить самому. Без with каталог удаляется только при вызове cleanup() или при сборке мусора объекта — с предупреждением ResourceWarning. Если файл в каталоге ещё открыт (типично для Windows), удаление падает; ignore_cleanup_errors=True (3.10+) превращает это в тихий пропуск, а delete=False (3.12+) не удаляет каталог вовсе.
Примеры
import os, tempfile
from pathlib import Path
with tempfile.TemporaryDirectory() as tmp:
print(type(tmp).__name__) # → str
(Path(tmp) / 'a.txt').write_text('x', encoding='utf-8')
print(os.listdir(tmp)) # → ['a.txt']
print(os.path.exists(tmp)) # → False
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности