我想在适当的文件管理器中从跨平台(windows/mac/linux)Python 应用程序中打开一个文件夹窗口。

在 OSX 上,我可以在 Finder 中打开一个窗口

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

并在 Windows 上使用

os.startfile(foldername)

那么unix/linux呢?是否有标准方法可以做到这一点,或者我是否必须使用特殊情况 gnome/kde/etc 并手动运行适当的应用程序(nautilus/konqueror/etc)?

这看起来像是可以由 自由桌面网站 people(一个Python模块,类似于 webbrowser, ,也很好!)。

有帮助吗?

解决方案

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

xdg-open 也可用于文件/url

其他提示

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

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

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

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

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


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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top