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