Возможно ли получить путь к временному файлу в Python 3? - PullRequest
0 голосов
/ 30 июня 2018

Мне было интересно, можно ли получить путь к файлу временного файла, созданного с использованием библиотеки tempfile. По сути, я пытаюсь создать функцию, которая принимает некоторые данные и генерирует временный CSV-файл на основе этих данных. Мне было интересно, есть ли способ получить путь к этому временному файлу?

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

tempfile.NamedTevenFile имеет свойство .dir, которое будет давать вам желаемое.


РЕДАКТИРОВАТЬ: Нет, это не .name, @Barmar, но просматривая исходный код для tempfile, я также не вижу свойства .dir. Однако вы можете использовать свойство .name в сочетании с методом os.path dirname следующим образом:

with tempfile.NamedTemporaryFile(suffix='.csv', prefix=os.path.basename(__file__)) as tf:
    tf_directory = os.path.dirname(tf.name)
0 голосов
/ 30 июня 2018

Используйте tempfile.NamedTemporaryFile для создания временного файла с именем, а затем используйте атрибут .name объекта.

Обратите внимание, что существуют ограничения для платформы, связанные с использованием этого имени. документация гласит:

Возможность использования имени для открытия файла во второй раз, когда именованный временный файл все еще открыт, зависит от платформы (его можно использовать в Unix; в Windows NT или более поздней версии это невозможно).

...