Python:ファイルに関連付けられたアプリケーションのリストを取得(Linux)

StackOverflow https://stackoverflow.com/questions/5395471

  •  28-10-2019
  •  | 
  •  

質問

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)

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

役に立ちましたか?

解決

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

より多くの情報を見つけることができます ここ.

編集:この回答が書かれた時から、gnomevfsは非推奨としてマークされました。 GIOは、この機能を今すぐ提供しています app_info_get_allapp_info_get_for_type.

他のヒント

Gnomeは、これらの2つのファイルにアプリケーションリストを保存します。

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

(ソースへのリンク)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top