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