все Python 3tempfileфункция
tempfile.NamedTemporaryFile()
временные файлы
Создаёт временный файл с именем в файловой системе: путь f.name можно передать другой функции или программе.
Синтаксис
tempfile.NamedTemporaryFile(mode='w+b', ..., suffix=None, prefix=None, dir=None, delete=True, *, errors=None, delete_on_close=True)
По умолчанию файл удаляется при закрытии, поэтому открыть его по имени второй раз, пока он открыт, нельзя на Windows, а после закрытия его уже нет нигде. С Python 3.12 есть delete_on_close=False: файл переживает close() и удаляется только на выходе из with — так его можно закрыть и отдать другой программе. delete=False оставляет файл навсегда, и удалить его придётся самому через os.remove().
Примеры
import os, tempfile
with tempfile.NamedTemporaryFile(suffix='.txt') as f:
print(f.name.endswith('.txt'), os.path.exists(f.name)) # → True True
print(os.path.exists(f.name)) # → False — удалён при закрытии
# Python 3.12+
import os, tempfile
with tempfile.NamedTemporaryFile('w', encoding='utf-8', delete_on_close=False) as f:
f.write('data')
f.close()
print(open(f.name, encoding='utf-8').read()) # → data
print(os.path.exists(f.name)) # → False
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности