заданный каталог не работает для TemporaryFile - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь использовать TemporaryFile. вот фрагмент кода.

from tempfile import TemporaryFile
outfile = TemporaryFile(dir='./')
np.save(outfile, np.arange(9))
outfile.close()

Я печатаю outfile.name, затем я получил 62, я ничего не нашел с именем 62. На самом деле я ничего не получил в указанном каталоге.

У меня такой вопрос: куда сохраняет файл TemporaryFile и как указать каталог для метода TemporaryFile ().

1 Ответ

0 голосов
/ 10 ноября 2018

Вы, вероятно, хотите NamedTemporaryFile вместо TemporaryFile. TemporaryFile можно создать таким образом, чтобы он не был виден в обычной файловой системе, тогда как NamedTemporaryFile гарантированно будет видимым.

Из NamedTemporaryFile документов :

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

Так что просто замените все упоминания TemporaryFile в вашем коде на NamedTemporaryFile, и тогда все должно работать так, как вы ожидаете. Имейте в виду, что NamedTemporaryFile все равно будет удален из вашей файловой системы, как только вы close() его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...