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

Класс TemporaryFile() модуля tempfile в Python

Временный файл без видимого имени

Синтаксис:

import tempfile

tempfile.TemporaryFile(mode='w+b', buffering=None, \
                       encoding=None, newline=None, \
                       suffix=None, prefix=None, \
                       dir=None, *, errors=None)

Параметры:

  • mode='w+b' - режим открытия файла,
  • buffering=None - буферизация,
  • encoding=None - кодировка для текстового режима
  • newline=None - символ новой строки для текстового режима,
  • suffix=None - суффикс имени временного файла,
  • prefix=None - префикс имени временного файла,
  • dir=None - директория для создания файла,
  • errors=None - обработчик ошибок кодировки для текстового режима,

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

Описание:

Класс TemporaryFile() модуля tempfile возвращает файлоподобный объект, который можно использовать как область временного хранения. Файл создан надежно, используя те же правила, что и низкоуровневая функция tempfile.mkstemp(). Он будет уничтожен, как только будет закрыт, включая неявное закрытие при сборке мусора.

Функция создает файл и на платформах, где это возможно, немедленно отменяет связь с ним. Это делает невозможным для другой программы найти или открыть файл, поскольку в таблице файловой системы не остается на него ссылки. Ваш код не должен полагаться на имя временного файла, созданного с помощью этой функции.

Полученный объект можно использовать как менеджер контекста. После завершения контекста или уничтожения файлового объекта временный файл будет удален из файловой системы.

Параметр mode по умолчанию равен 'w + b', поэтому созданный файл может быть прочитан и записан без закрытия. Двоичный режим используется таким образом, что он ведет себя согласованно на всех платформах без учета хранимых данных.

Аргументы buffering, encoding, errors и newline интерпретируются как для встроенной функции open().

Параметры dir, prefix и suffix имеют то же значение и значения по умолчанию, как и в tempfile.mkstemp().

Возвращенный объект является истинным файловым объектом на платформах POSIX. На других платформах это файловый объект, атрибут файла которого является базовым истинным файловым объектом.

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

Примеры:

Приложения, которым требуются временные файлы для хранения данных, без необходимости делиться этим файлом с другими программами, для создания файлов должны использовать функцию tempfile.TemporaryFile().

import tempfile
# Файл закрыт и удален после выхода
# из контекстного менеджера
with tempfile.TemporaryFile(mode='w+t', encoding='utf-8', errors='strict') as fp:
    tmp_file_name = fp.name
    fp.write('Привет docs-python.ru!')
    fp.seek(0)
    data = fp.read()

print(data)
# Привет docs-python.ru!

# временный файл не имеет имени
print(tmp_file_name)
4