【问题标题】:Standard way to open a folder window in linux?在linux中打开文件夹窗口的标准方法?
【发布时间】:2010-09-07 16:54:10
【问题描述】:

我想在适当的文件管理器中从跨平台 (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 模块也不错!)。

【问题讨论】:

    标签: python linux cross-platform desktop


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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


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

      【讨论】:

        【解决方案3】:
        os.system('xdg-open "%s"' % foldername)
        

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

        【讨论】:

        • 最好使用import subprocess / subprocess.Popen(['xdg-open', foldername]),因为这样可以避免引用问题
        猜你喜欢
        • 2011-11-16
        • 1970-01-01
        • 2022-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-25
        相关资源
        最近更新 更多