Python Glossary English

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Сообщить о неточности