Python:获取与文件相关联的应用程序列表(Linux)

2024-10-05 22:01:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python编写一个应用程序,我需要向用户提供“openwith”菜单。目前我正在解析/usr/share/applications/mimeinfo.cashe和{},但结果非常糟糕。Nautilus在“打开方式”菜单中有更多条目。在

你知道一个更好的方法来获取与文件相关联的应用程序列表吗?在

编辑:

有一种更简单的方法使用gnomevfs模块。在

mime_type = gnomevfs.get_mime_type(filename)
application_list = gnomevfs.mime_get_all_applications(mime_type)

在返回的列表中,您可以得到应用程序名、图标名、配置文件和许多其他内容。在


Tags: 方法用户应用程序share列表getusrtype
2条回答

我找到了一个更优雅的解决方案。在gnomevfs模块中有一个名为mime_get_all_applications的函数,它返回关联应用程序的正确列表。在

更多信息可在here找到。在

编辑: 自编写此答案时起,GnomeVFS被标记为已弃用。GIO现在确实通过app_info_get_allapp_info_get_for_type等方法提供了这个功能。在

GNOME将其应用程序列表存储在这两个文件中:

/etc/gnome/defaults.list
~/.local/share/applications/mimeapps.list

(link to source)

相关问题 更多 >