Python Glossary English

все Python 3tempfileфункция

tempfile.TemporaryFile()

временные файлы

Создаёт безымянный временный файл, открытый на чтение и запись; файл удаляется сам при закрытии.

Синтаксис

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

Режим по умолчанию — 'w+b', поэтому write('текст') падает с TypeError: для строк передайте mode='w+' и encoding='utf-8'. После записи указатель стоит в конце файла, и read() вернёт пустоту, пока не сделать seek(0). На Linux файл не имеет имени вовсе (name — целый номер дескриптора), так что передать его путь другой программе нельзя — для этого нужен NamedTemporaryFile.

Примеры

import tempfile
with tempfile.TemporaryFile(mode='w+', encoding='utf-8') as f:
    f.write('привет')
    print(repr(f.read()))  # → '' — указатель в конце файла
    f.seek(0)
    print(f.read())  # → привет
import tempfile
with tempfile.TemporaryFile() as f:
    print(type(f.name).__name__)  # → ? int на Linux, str на Windows

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности