Ответ 1
Это не работает для вас?
In [2]: tempfile.NamedTemporaryFile(suffix='.tif').name
Out[2]: '/var/folders/gq/swc6jtld5853skyq_xc2lpc40000gn/T/tmplrtwvxg7.tif'
Я пишу некоторые модульные тесты для фрагмента кода, который берет путь и пытается загрузить файл, если он имеет известное расширение, а затем делает более тщательную проверку.
В модульном тесте я хотел бы создать временный файл с правильным расширением, но неправильное содержимое, в моем случае - пустой файл, представляющий test.tif
.
Как создать временный файл, указав расширение (или полное имя), используя модуль tempfile
?
Я просмотрел класс NamedTemporaryFile
, а также параметры suffix
и prefix
, но я до сих пор не могу установить расширение. Я полагаю, что я мог бы вручную создать файл во временном каталоге, но потом я потерял способность самоочистки, которой я пользуюсь.
Это не работает для вас?
In [2]: tempfile.NamedTemporaryFile(suffix='.tif').name
Out[2]: '/var/folders/gq/swc6jtld5853skyq_xc2lpc40000gn/T/tmplrtwvxg7.tif'