4

Python でアプリケーションを作成しており、ユーザーに「開く」メニューを提供する必要があります。現在、私は解析/usr/share/applications/mimeinfo.casheして~/.local/share/applications/mimeapps.listいますが、結果は非常に悪いです。Nautilus の「Open with」メニューには、より多くのエントリがあります。

ファイルに関連付けられたアプリケーションのリストを取得するためのより良い方法を知っていますか?

編集:

gnomevfsモジュールを使用する簡単な方法があります。

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

返されたリストでは、アプリケーション名、アイコン名、構成ファイル、およびその他の多くのものを取得します。

4

2 に答える 2

4

もう少しエレガントなソリューションを見つけました。gnomevfsモジュールには、関連付けられたアプリケーションの適切なリストを返すという名前の関数がありmime_get_all_applicationsます。

詳細については、こちらをご覧ください

編集: この回答が書かれて以来、GnomeVFS は非推奨としてマークされています。GIO は、app_info_get_allや などのメソッドを使用してこの機能を提供していますapp_info_get_for_type

于 2011-03-22T19:33:00.730 に答える
2

GNOME は、そのアプリケーション リストを次の 2 つのファイルに保存します。

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

(ソースへのリンク)

于 2011-03-22T17:46:14.190 に答える