使用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)
在返回的列表中,您将获得应用程序名称,图标名称,配置文件和许多其他内容。
答案 0 :(得分:4)
我找到了更优雅的解决方案。在gnomevfs
模块中有一个名为mime_get_all_applications
的函数,它返回相关应用程序的正确列表。
可以找到更多信息here。
编辑:
自撰写此答案以来,GnomeVFS已被标记为已弃用。 GIO现在使用app_info_get_all
和app_info_get_for_type
等方法提供此功能。
答案 1 :(得分:2)
GNOME将其应用程序列表存储在这两个文件中:
/etc/gnome/defaults.list
~/.local/share/applications/mimeapps.list