在Linux中打开文件夹窗口的标准方法是什么?
我想在一个跨平台的Python应用程序中,从里面打开一个文件夹窗口,使用合适的文件管理器。
在Mac上,我可以用下面的代码在Finder中打开一个窗口:
os.system('open "%s"' % foldername)
在Windows上,我可以用下面的代码:
os.startfile(foldername)
那在Unix/Linux系统上呢?有没有标准的方法可以做到这一点,还是说我得针对不同的桌面环境(比如gnome、kde等)来特别处理,手动运行相应的应用程序(比如nautilus、konqueror等)?
这看起来应该是freedesktop.org的团队可以定义的东西(如果有一个像webbrowser
那样的Python模块就更好了!)。
3 个回答
0
这可能需要手动操作,或者作为一个配置项来设置,因为用户可能会想使用很多不同的文件管理器。同时,也要提供一种方式来设置命令选项。
可能有一些功能可以启动KDE或GNOME的默认设置,但我还没有理由去查找这些功能。
0
你需要根据你正在使用的窗口管理器来做这件事。因为在OSX和Windows上,只有一个选择,所以它们有一个(事实上的)标准方式。
其实你不需要指定具体的文件管理器应用程序,这个应该可以通过窗口管理器来实现。我知道Gnome是这样做的,而在KDE中这样做很重要,因为可能会使用两个不同的文件管理器(Konqueror和Dolphin)。
我同意这应该是freedesktop.org去标准化的一个好事情,不过我怀疑这是否会发生,除非有人主动站出来去做这件事。
补充:我之前不知道xdg-open。知道这个真不错!
16
os.system('xdg-open "%s"' % foldername)
xdg-open
这个命令可以用来打开文件或者网址。