Сообщить об ошибке.

Функция mkdtemp() модуля tempfile в Python

Безопасные временные каталоги

Синтаксис:

import tempfile

tempfile.mkdtemp(suffix=None, prefix=None, dir=None)

Параметры:

  • suffix=None - суффикс каталога,
  • prefix=None - префикс каталога,
  • dir=None - директория для каталога.

Возвращаемое значение:

  • str, абсолютный путь к временному каталогу.

Изменено в Python 3.12: Функция tempfile.mkdtemp() теперь всегда возвращает абсолютный путь, даже если аргумент dir является относительным.

Описание:

Функция mkdtemp() модуля tempfile создает временный каталог наиболее безопасным способом и возвращает абсолютный путь к новому каталогу. При создании каталога отсутствуют условия гонки.

Каталог доступен для чтения, записи и поиска только под идентификатором пользователя userID его создавшим.

Пользователь, вызвавший tempfile.mkdtemp() отвечает за удаление временного каталога и его содержимого после завершения работы с ним. Невыполнение этого требования может привести к тому, что в системе останутся ненужные каталоги. Для рекурсивного удаления временного каталога и его содержимого можно использовать функцию shutil.rmtree().

Аргументы prefix, suffix и dir имеют такое же значение как и для функции tempfile.mkstemp().

Вызывает событие аудита tempfile.mkdtemp с аргументом fullpath.

Пример использования tempfile.mkdtemp():

Чтобы создать уникальную временную папку в Python, можно использовать функцию tempfile.mkdtemp() из модуля tempfile. Эта функция создает временный каталог и возвращает его путь.

>>> import tempfile
>>> tmp = tempfile.mkdtemp()
>>> tmp
# '/tmp/tmp5fa_wq5a'
>>> os.path.isdir(tmp)
# True

В этом примере tempfile.mkdtemp вызывается без каких-либо аргументов, что создает временный каталог в расположении по умолчанию. Путь к временному каталогу сохраняется в переменной tmp и затем выводится.

Для рекурсивного удаления временного каталога и его содержимого используем функцию shutil.rmtree().

>>> import shutil
>>> shutil.rmtree(tmp)