【问题标题】:Python equivalent to xdg-mime query filetypePython 等价于 xdg-mime 查询文件类型
【发布时间】:2016-02-23 22:52:41
【问题描述】:

我正在寻找一个 python 库,它提供的给定文件返回与 bash 命令 xdg-mime query filetype <filename> 完全相同的 mime 类型。目标是使用该函数在具有特定 mime 类型的目录中查找所有文件 (application/mbox)

我知道xdg 库,但它的所有函数都没有返回与xdg-mime 命令相同的值。

【问题讨论】:

    标签: python mime-types xdgutils


    【解决方案1】:

    您可以将自己的映射提供给 python mimetypes 模块 - 因此您可以在所需的所有扩展上调用 xdg-mime,然后创建一个文件以提供给 mimetypes,如下所示:

    import mimetypes
    mimetypes.init()
    extra={".123": "application/vnd.lotus-1-2-3"}
    [mimetypes.add_type(value, key) for key, value in extra.items()]
    
    # testing
    
    mimetypes.guess_type("x.123")
    

    给出“application/vnd.lotus-1-2-3”

    【讨论】:

    • xdg-mime 不依赖文件扩展名,所以这不起作用。在我的情况下,这些文件甚至没有扩展名。
    • 还有一个与 libmagic 的 python 绑定 - 我想这是绕过文件扩展名时最直接的选项。 github.com/ahupp/python-magic
    • libmagic 只说ASCII text, with CRLF, LF line terminators
    猜你喜欢
    • 1970-01-01
    • 2020-07-11
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    相关资源
    最近更新 更多