在我的 ubuntu PC 中,通过 python 脚本,我需要获取特定文件类型的图标的默认路径。
作为:
def get_icon_path(extenstion):
...
...
return icon_path
get_icon_path("py")
/usr/share/icons/Humanity/mimes/48/text-x-python.svg
注意:我读过这个问题,它只对当前存在的文件有效。
请您参考如下方法:
GNU/Linux 桌面环境不会将图标分配给文件名后缀(扩展名)。相反,它们将图标分配给 Internet 媒体类型(MIME 类型),并且文件的类型可能由也可能不由其文件名后缀确定(也可能涉及内容嗅探)。您可以使用 mimetypes标准库中的模块从后缀猜测媒体类型。那么gio.content_type_get_icon ,从那时起就像您链接的问题一样。
import mimetypes
import gio
import gtk
def get_icon_path(extension, size=32):
type_, encoding = mimetypes.guess_type('x.' + extension)
if type_:
icon = gio.content_type_get_icon(type_)
theme = gtk.icon_theme_get_default()
info = theme.choose_icon(icon.get_names(), size, 0)
if info:
return info.get_filename()
