Python: получить список приложений, связанных с файлом (Linux) - PullRequest
4 голосов
/ 22 марта 2011

Я делаю заявку на Python, и мне нужно предоставить пользователю меню «Открыть с помощью».В настоящее время я анализирую /usr/share/applications/mimeinfo.cashe и ~/.local/share/applications/mimeapps.list, но результаты очень плохие.Наутилус имеет больше записей в меню «Открыть с помощью».

Знаете ли вы лучший способ получения списка приложений, связанных с файлом?

Редактировать:

Существует более простой способ использования модуля gnomevfs.

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

В возвращенном списке вы получите имя приложения, имя значка, файл конфигурации и многое другое.

Ответы [ 2 ]

4 голосов
/ 22 марта 2011

Я нашел немного более элегантное решение. В модуле gnomevfs есть функция с именем mime_get_all_applications, которая возвращает правильный список связанных приложений.

Более подробную информацию можно найти здесь .

Edit: Со времени написания этого ответа GnomeVFS была помечена как устаревшая. GIO теперь предоставляет эту функциональность такими методами, как app_info_get_all и app_info_get_for_type.

2 голосов
/ 22 марта 2011

GNOME сохраняет свои списки приложений в этих двух файлах:

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

(ссылка на источник)

...