Frage

Ich möchte ein Ordnerfenster im entsprechenden Dateimanager aus einer plattformübergreifenden Python-Anwendung (Windows/Mac/Linux) öffnen.

Unter OSX kann ich mit ein Fenster im Finder öffnen

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

und unter Windows mit

os.startfile(foldername)

Was ist mit Unix/Linux?Gibt es dafür eine Standardmethode oder muss ich gnome/kde/etc in Sonderfälle umwandeln und die entsprechende Anwendung (nautilus/konqueror/etc) manuell ausführen?

Dies scheint etwas zu sein, das vom angegeben werden könnte freedesktop.org Leute (ein Python-Modul, ähnlich webbrowser, wäre auch schön!).

War es hilfreich?

Lösung

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

xdg-open kann auch für Dateien/URLs verwendet werden

Andere Tipps

Dies müsste wahrscheinlich manuell erfolgen oder als Konfigurationselement vorhanden sein, da es viele Dateimanager gibt, die Benutzer möglicherweise verwenden möchten.Bietet auch eine Möglichkeit für Befehlsoptionen.

Möglicherweise gibt es eine Funktion, die die Standardeinstellungen für KDE oder Gnome in den jeweiligen Toolkits startet, aber ich hatte keinen Grund, danach zu suchen.

Sie müssen dies basierend auf dem ausgeführten Fenstermanager tun.OSX und Windows haben einen (defacto) Standardweg, weil es nur eine Wahl gibt.

Sie sollten jedoch nicht die genaue Dateimanageranwendung angeben müssen, dies sollte jedoch über den wm möglich sein.Ich weiß, dass Gnome dies tut, und es ist wichtig, dies in KDE zu tun, da zwei mögliche Dateimanager (Konqueror/Dolphin) verwendet werden können.

Ich stimme zu, dass dies eine gute Sache für freedesktop.org wäre, diese zu standardisieren, obwohl ich bezweifle, dass dies geschehen wird, wenn nicht jemand eingreift und sich freiwillig dazu bereit erklärt.


BEARBEITEN:Ich wusste nichts von xdg-open.Gut zu wissen!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top