Skip to main content
 首页 » 编程设计

python之通过python获取Ubuntu操作系统中特定文件类型的默认图标

2025年05月04日13jpfss

在我的 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

注意:我读过这个问题,它只对当前存在的文件有效。

How Can I Get an Icon or thumbnail for a Specific file

请您参考如下方法:

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()