Стандартный способ открыть окно папки в Linux? - PullRequest
9 голосов
/ 03 сентября 2008

Я хочу открыть окно папки в соответствующем файловом менеджере из кросс-платформенного (windows / mac / linux) Python-приложения.

В OSX я могу открыть окно в Finder с помощью

os.system('open "%s"' % foldername)

и в Windows с

os.startfile(foldername)

А как насчет Unix / Linux? Есть ли стандартный способ сделать это или мне нужно использовать специальный случай gnome / kde / etc и вручную запустить соответствующее приложение (nautilus / konqueror / etc)?

Это похоже на то, что может быть указано людьми freedesktop.org (модуль python, подобный webbrowser, тоже подойдет!).

Ответы [ 3 ]

10 голосов
/ 03 сентября 2008
os.system('xdg-open "%s"' % foldername)

xdg-open также можно использовать для файлов / URL

0 голосов
/ 03 сентября 2008

Вам нужно будет сделать это на основе работающего оконного менеджера. OSX и Windows имеют (де-факто) стандартный способ, потому что есть только один выбор.

Вам не нужно указывать точное приложение файлового менеджера, хотя это можно сделать через wm. Я знаю, что это делает Gnome, и это важно сделать в KDE, поскольку могут использоваться два файловых менеджера (Konqueror / Dolphin).

Я согласен, что было бы неплохо стандартизировать freedesktop.org, хотя я сомневаюсь, что это произойдет, если кто-то не придет и не добровольно сделает это.


РЕДАКТИРОВАТЬ: я не знал о xdg-open. Полезно знать!

0 голосов
/ 03 сентября 2008

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

Возможно, есть функция, которая запускает значения по умолчанию для kde или gnome в их соответствующих наборах инструментов, но у меня нет причин искать их.

...