Вы, вероятно, хотите NamedTemporaryFile
вместо TemporaryFile
. TemporaryFile
можно создать таким образом, чтобы он не был виден в обычной файловой системе, тогда как NamedTemporaryFile
гарантированно будет видимым.
Из NamedTemporaryFile
документов :
Эта функция работает точно так же, как и TemporaryFile()
, за исключением того, что файл гарантированно имеет видимое имя в файловой системе (в Unix запись каталога не является несвязанной). Это имя может быть получено из атрибута имени возвращенного файлового объекта ...
Так что просто замените все упоминания TemporaryFile
в вашем коде на NamedTemporaryFile
, и тогда все должно работать так, как вы ожидаете. Имейте в виду, что NamedTemporaryFile
все равно будет удален из вашей файловой системы, как только вы close()
его.