mimetypes
---将文件名映射到mime类型¶
源代码: Lib/mimetypes.py
这个 mimetypes
模块在文件名或URL和与文件扩展名关联的mime类型之间进行转换。提供从文件名到MIME类型和从MIME类型到文件扩展名的转换;后一个转换不支持编码。
该模块提供了一个类和多个方便功能。函数是这个模块的正常接口,但是一些应用程序也可能对类感兴趣。
下面描述的功能提供了这个模块的主要接口。如果模块尚未初始化,它们将调用 init()
如果他们依赖信息 init()
建立。
- mimetypes.guess_type(url, strict=True)¶
根据文件名、路径或url猜测文件的类型,由 url . URL可以是字符串或 path-like object .
返回值是一个元组
(type, encoding)
在哪里? type 是None
如果无法猜测类型(缺少后缀或未知后缀)或表单的字符串'type/subtype'
,可用于mime content-type 标题。encoding 是
None
对于无编码或用于编码的程序名(例如 compress 或 gzip )编码适合用作 Content-Encoding 页眉, not 作为一个 Content-Transfer-Encoding 标题。映射是表驱动的。编码后缀区分大小写;类型后缀首先区分大小写,然后不区分大小写。可选的 strict 参数是一个标志,指定已知的mime类型列表是否仅限于正式类型 registered with IANA . 什么时候? strict 是
True
(默认),仅支持IANA类型;当 strict 是False
,还可以识别一些其他非标准但常用的mime类型。在 3.8 版更改: 添加了对URL的支持 path-like object .
- mimetypes.guess_all_extensions(type, strict=True)¶
根据文件的mime类型猜测文件的扩展名,由 type . 返回值是一个字符串列表,给出所有可能的文件扩展名,包括前导点 (
'.'
)扩展不保证与任何特定的数据流相关联,但将映射到mime类型。 type 通过guess_type()
.可选的 strict 参数的含义与
guess_type()
功能。
- mimetypes.guess_extension(type, strict=True)¶
根据文件的mime类型猜测文件的扩展名,由 type . 返回值是一个提供文件扩展名的字符串,包括前导点 (
'.'
)扩展不保证与任何特定的数据流关联,但将映射到mime类型 type 通过guess_type()
. 如果无法猜测扩展名 type ,None
返回。可选的 strict 参数的含义与
guess_type()
功能。
一些附加的函数和数据项可用于控制模块的行为。
- mimetypes.init(files=None)¶
初始化内部数据结构。如果给予, 文件夹 必须是一个文件名序列,该序列应用于扩充默认类型映射。如果省略,则使用的文件名取自
knownfiles
;在Windows上,加载当前注册表设置。在中命名的每个文件 文件夹 或knownfiles
优先于在此之前命名的。调用init()
允许重复。为指定空列表 文件夹 将阻止应用系统默认值:只有内置列表中的已知值。
如果 文件夹 是
None
内部数据结构将完全重建为其初始默认值。这是一个稳定的操作,在多次调用时将产生相同的结果。在 3.2 版更改: 以前,Windows注册表设置被忽略。
- mimetypes.read_mime_types(filename)¶
加载文件中给定的类型映射 filename ,如果存在。类型映射作为字典映射文件扩展名返回,包括前导点 (
'.'
)到窗体的字符串'type/subtype'
.如果文件 filename 不存在或无法读取,None
返回。
- mimetypes.add_type(type, ext, strict=True)¶
从mime类型添加映射 type 延伸部分 ext . 当扩展名已知时,新类型将替换旧类型。当类型已知时,扩展名将添加到已知扩展名列表中。
什么时候? strict 是
True
(默认),映射将添加到正式的mime类型,否则添加到非标准类型。
- mimetypes.knownfiles¶
通常安装的类型映射文件名列表。这些文件通常命名为
mime.types
并通过不同的软件包安装在不同的位置。
- mimetypes.suffix_map¶
字典将后缀映射为后缀。这用于识别编码文件,其中编码和类型由同一扩展名指示。例如,
.tgz
扩展映射到.tar.gz
允许分别识别编码和类型。
- mimetypes.encodings_map¶
将文件扩展名映射到编码类型的字典。
- mimetypes.types_map¶
将文件扩展名映射到mime类型的字典。
- mimetypes.common_types¶
字典将文件扩展名映射到非标准的、但常见的mime类型。
模块的示例用法:
>>> import mimetypes
>>> mimetypes.init()
>>> mimetypes.knownfiles
['/etc/mime.types', '/etc/httpd/mime.types', ... ]
>>> mimetypes.suffix_map['.tgz']
'.tar.gz'
>>> mimetypes.encodings_map['.gz']
'gzip'
>>> mimetypes.types_map['.tgz']
'application/x-tar-gz'
mimetypes对象¶
这个 MimeTypes
类可能对需要多个mime类型数据库的应用程序有用;它提供了一个类似于 mimetypes
模块。
- class mimetypes.MimeTypes(filenames=(), strict=True)¶
此类表示一个MIME类型数据库。默认情况下,它提供对与此模块其余部分相同的数据库的访问。初始数据库是模块提供的数据库的副本,可以通过加载附加数据库进行扩展。
mime.types
-在数据库中使用read()
或readfp()
方法。如果不需要默认数据,也可以在加载附加数据之前清除映射字典。可选的 filename 参数可用于使其他文件加载到默认数据库的“顶部”。
- suffix_map¶
字典将后缀映射为后缀。这用于识别编码文件,其中编码和类型由同一扩展名指示。例如,
.tgz
扩展映射到.tar.gz
允许分别识别编码和类型。这最初是全局suffix_map
在模块中定义。
- encodings_map¶
将文件扩展名映射到编码类型的字典。这最初是全局
encodings_map
在模块中定义。
- types_map¶
包含两个字典的元组,将文件扩展名映射到mime类型:第一个字典用于非标准类型,第二个字典用于标准类型。它们由初始化
common_types
和types_map
.
- types_map_inv¶
包含两个字典的元组,将mime类型映射到文件扩展名列表:第一个字典用于非标准类型,第二个字典用于标准类型。它们由初始化
common_types
和types_map
.
- guess_extension(type, strict=True)¶
类似于
guess_extension()
函数,使用存储为对象一部分的表。
- guess_type(url, strict=True)¶
类似于
guess_type()
函数,使用存储为对象一部分的表。
- guess_all_extensions(type, strict=True)¶
类似于
guess_all_extensions()
函数,使用存储为对象一部分的表。
- read(filename, strict=True)¶
从名为的文件加载mime信息 filename . 这种用途
readfp()
解析文件。如果 strict 是
True
,信息将添加到标准类型列表中,否则将添加到非标准类型列表中。
- readfp(fp, strict=True)¶
从打开的文件加载mime类型信息 fp . 文件必须具有标准的格式
mime.types
文件夹。如果 strict 是
True
,信息将添加到标准类型列表中,否则将添加到非标准类型列表中。
- read_windows_registry(strict=True)¶
从Windows注册表加载mime类型信息。
Availability :Windows。
如果 strict 是
True
,信息将添加到标准类型列表中,否则将添加到非标准类型列表中。3.2 新版功能.