在linux中打开文件夹窗口的标准方法?
-
09-06-2019 - |
题
我想在适当的文件管理器中从跨平台(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。很高兴知道!
不隶属于 StackOverflow