10

我想从跨平台(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,也很好!)。

4

3 回答 3

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

xdg-open也可用于文件/网址

于 2008-09-03T16:18:25.303 回答
0

这可能必须手动完成,或者作为配置项,因为用户可能想要使用许多文件管理器。也为命令选项提供了一种方式。

可能有一个函数可以在它们各自的工具包中启动 kde 或 gnome 的默认值,但我没有理由去寻找它们。

于 2008-09-03T16:02:06.373 回答
0

您将不得不根据正在运行的窗口管理器执行此操作。OSX 和 Windows 有一种(事实上的)标准方式,因为只有一种选择。

但是,您不需要指定确切的文件管理器应用程序,这应该可以通过 wm.xml 来完成。我知道 Gnome 会这样做,并且在 KDE 中这样做很重要,因为可能正在使用两种可能的文件管理器(Konqueror/Dolphin)。

我同意这对 freedesktop.org 进行标准化是一件好事,尽管我怀疑除非有人站出来并自愿这样做,否则它会发生。


编辑:我不知道 xdg-open。很高兴知道!

于 2008-09-03T16:15:43.483 回答