Python:获取与文件关联的应用程序列表(Linux)
我正在用Python开发一个应用程序,需要给用户提供一个“打开方式”的菜单。目前我在解析 /usr/share/applications/mimeinfo.cashe
和 ~/.local/share/applications/mimeapps.list
,但结果很差。Nautilus的“打开方式”菜单里有更多的选项。
你知道有没有更好的方法来获取与文件关联的应用程序列表吗?
编辑:
其实有个更简单的方法,可以使用 gnomevfs
模块。
mime_type = gnomevfs.get_mime_type(filename)
application_list = gnomevfs.mime_get_all_applications(mime_type)
通过这个方法返回的列表里,你可以看到应用程序的名称、图标名称、配置文件以及其他很多信息。
2 个回答
2
4
我找到了一种更优雅的解决方案。在 gnomevfs
模块中,有一个叫 mime_get_all_applications
的函数,它可以返回一个正确的关联应用程序列表。
更多信息可以在 这里 找到。
编辑:自从这个回答写成以来,GnomeVFS 已经被标记为不再推荐使用。现在,GIO 提供了类似 app_info_get_all
和 app_info_get_for_type
的方法来实现这个功能。