Настройка пути записи (MAC)

#python-3.x

#python-3.x

Вопрос:

У меня есть скрипт на Python 3, который загружает файл CSV, но я не могу указать путь. Скрипт сохраняет загруженные CSV-файлы в корневой каталог пользователя, но я бы хотел указать путь в другое место.

Вот фрагмент моего скрипта:

 with open(filename, 'wb') as writer:
    writer.write(res)
  

Ответ №1:

Вероятно, причина, по которой скрипт записывает файл в домашние каталоги пользователей, заключается в том, что, так или иначе, он запускается оттуда. Если у вас есть directoryname переменная, это может быть так просто, как:

 import os

...

with open(os.path.join(directoryname, filename), 'wb') as writer:
    writer.write(res)
  

Если filename переменная содержит начальный путь, например, что-то вроде:

 path/to/filename.csv
  

тогда вам придется иметь дело с этим либо:

  • создание содержащих каталогов (если они не существуют)
  • удаление начального пути (например os.path.basename(filename) )

Также имейте в виду, что любой каталог, который вы предоставляете, может быть как относительным, так и абсолютным, поэтому, если он относительный, он, вероятно, будет оцениваться относительно домашнего каталога пользователя.

Комментарии:

1. Спасибо, что ответили на мой первый официальный вопрос! На самом деле я запускаю скрипт из другого каталога. Переменная filename ссылается на загружаемый исходный файл;