Временный файл с определенным расширением файла в Python 3

Я пишу некоторые модульные тесты для фрагмента кода, который берет путь и пытается загрузить файл, если он имеет известное расширение, а затем делает более тщательную проверку.

В модульном тесте я хотел бы создать временный файл с правильным расширением, но неправильное содержимое, в моем случае - пустой файл, представляющий test.tif.

Как создать временный файл, указав расширение (или полное имя), используя модуль tempfile?

Я просмотрел класс NamedTemporaryFile, а также параметры suffix и prefix, но я до сих пор не могу установить расширение. Я полагаю, что я мог бы вручную создать файл во временном каталоге, но потом я потерял способность самоочистки, которой я пользуюсь.

Ответы

Ответ 1

Это не работает для вас?

In [2]: tempfile.NamedTemporaryFile(suffix='.tif').name
Out[2]: '/var/folders/gq/swc6jtld5853skyq_xc2lpc40000gn/T/tmplrtwvxg7.tif'