Изменение/набор рабочий каталог сценариев, выполняемых из окна файлового менеджера

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

Это - боль, если код должен получить доступ к файлам в фактическом каталоге, где сценарий расположен.

Существует ли способ изменить это поведение?

Пример:

foo.py расположен в папке /home/phil/src/python foo.data также расположен там и читается foo.py во время выполнения.

Если я открываю терминал в той папке и запускаю скрипт, она работает с /home/phil/src/python поскольку это работает каталог, и это успешно находит и открывается foo.data

Однако, если я открываю свой файловый менеджер (pcman в моем случае, Lubuntu), перешел к /home/phil/src/python и дважды щелкните foo.py для выполнения его, он будет работать с /home/phil поскольку это работает каталог. Это не найдет foo.data и это перестанет работать.

После поиска с помощью Google этого немного кажется, что это также происходит с Наутилусом.

0
задан 3 March 2012 в 19:04

1 ответ

Для сценариев удара можно запустить сценарий с

cd "$(dirname "$0")"

или более сложные и более безопасные версии этого. Вероятно, в Python можно сделать что-то подобное (я не знаю Python), или можно перенести сценарий со сценарием удара.

0
ответ дан 3 March 2012 в 19:04

Другие вопросы по тегам:

Похожие вопросы: