Рассмотрим следующий код Python:Как найти каталог скриптов с Python?
import os
print os.getcwd()
Я использую os.getcwd()
для get the script file's directory location. Когда я запускаю скрипт из командной строки, он дает мне правильный путь, тогда как когда я запускаю его из сценария, запускаемого кодом в представлении Django, он печатает /
.
Как я могу получить путь к скрипту из сценария, запускаемого представлением Django?
UPDATE:
Суммируя ответы до сих пор - os.getcwd()
и os.path.abspath()
оба дают текущий рабочий каталог, который может или не может быть каталог, в котором скрипт находится. В настройках моего веб-хоста
дает только имя файла без пути.__file__
Нет ли способа в Python (всегда) иметь возможность получить путь, в котором находится скрипт?
Вы должны прочитать эту статью, связанную более внимательно. Он никогда не предполагает, что использование 'getcwd' скажет вам местоположение вашего сценария. Он предлагает 'argv [0]', 'dirname' и' abspath'. –
@Rob - «print sys.argv [0]» на моем веб-хосте только дает имя файла, без пути – Jonathan
@Rob - вот выдержка из связанной статьи «os.getcwd() возвращает текущий рабочий каталог». – Jonathan