在Linux中打开文件夹窗口的标准方法?
时间:2020-03-05 18:47:06 来源:igfitidea点击:
我想从跨平台(windows / mac / linux)Python应用程序中的相应文件管理器中打开一个文件夹窗口。
在OSX上,我可以使用
os.system('open "%s"' % foldername)
在Windows上
os.startfile(foldername)
Unix / Linux呢?是否有标准的方法来执行此操作,或者我必须对gnome / kde / etc进行特殊处理并手动运行相应的应用程序(nautilus / konqueror / etc)?
看起来好像可以由freedesktop.org人士指定(类似于webbrowser
的python模块,也不错!)。
解决方案
回答
由于用户可能要使用许多文件管理器,因此可能必须手动完成此操作或者将其作为配置项。也为命令选项提供了一种方法。
可能会有一个功能在各自的工具箱中启动kde或者gnome的默认值,但我没有理由寻找它们。
回答
我们将必须基于正在运行的窗口管理器来执行此操作。 OSX和Windows具有(实际)标准方式,因为只有一种选择。
但是,我们不必指定确切的filemanager应用程序,这应该可以通过wm完成。我知道Gnome确实如此,在KDE中执行此操作很重要,因为可能正在使用两种可能的文件管理器(Konqueror / Dolphin)。
我同意这对于freedesktop.org进行标准化将是一件好事,尽管我怀疑除非有人加紧努力并自愿这样做,否则它将不会发生。
编辑:我不知道xdg-open。很高兴知道!
回答
os.system('xdg-open "%s"' % foldername)
xdg-open也可以用于文件/ URL