Получить каталог ярлыка, вызывающего скрипт Python - PullRequest
5 голосов
/ 06 июля 2011

Как получить каталог ярлыка Windows , вызывающий скрипт Python. Я хотел бы иметь несколько ярлыков в разных местах, указывающих на один скрипт, который я мог бы редактировать, если бы захотел, но там, где доступен каталог , из которого вызывается скрипт. Это возможно?

Этот сценарий, вероятно, будет затем скомпилирован с py2exe или чем-то еще, поэтому, если это что-то, чего нельзя достичь до ЭТОГО этапа, я мог бы пойти на это. Спасибо!

Ответы [ 3 ]

4 голосов
/ 06 июля 2011

Самое простое решение - просто использовать пакетный скрипт вместо ярлыка.

Все, что ему нужно, это python C:\path\to\script\script.py, и сценарий будет иметь правильный CWD.

По умолчанию при создании ярлыка в Windows свойство Start in: задается для папки, в которой находится связанный файл.

Скрипт не знает о том, что он был вызван из ярлыка, не говоря уже о том, где этот ярлык находится.

Вы можете изменить свойство Start in: ярлыка на путь к папке, в которой находится ярлык.

Тогда вы можете использовать os.getcwd(), чтобы получить этот путь.

К сожалению, установка Start in: в . не работает.

1 голос
/ 06 июля 2011

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

0 голосов
/ 06 июля 2011

вы можете сделать это с

import os
print os.getcwd()

os.getcwd ()

Возвращает строку, представляющую текущий рабочий каталог. Наличие: Unix, Windows.

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