首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mimetypes

源代码: Lib / mimetypes.py

mimetypes模块在文件名或URL与与文件扩展名关联的MIME类型之间进行转换。从文件名到MIME类型以及从MIME类型到文件扩展名提供转换; 编码不适用于后面的转换。

该模块提供了一个类和许多便利功能。这些功能是这个模块的正常接口,但是一些应用程序也可能对这个类感兴趣。

下面介绍的功能为该模块提供了主要接口。如果模块尚未初始化,他们将init()依靠init()设置的信息进行调用。

mimetypes.guess_type(url, strict=True)

根据由url给出的文件名或URL猜测文件的类型。返回值是一个元组(type, encoding),如果类型不能被猜测(丢失或未知的后缀)或表单的字符串(可用于MIME 内容类型头),则类型为元组。None'type/subtype'

编码None无编码或用于编码的程序的名称(例如压缩gzip)。编码是适合用作一个内容编码报头,作为内容传送编码标头。映射是由表驱动的。编码后缀区分大小写。类型后缀首先是区分大小写,然后区分大小写。

可选的strict参数是一个标志,指定已知MIME类型的列表是否仅限于在IANA注册的官方类型。当严格True(默认值),只有IANA类型的支持; 当严格的False,一些额外的非标准,但常用的MIME类型也被识别。

mimetypes.guess_all_extensions(type, strict=True)

猜扩展基于其MIME类型给出一个文件,类型。返回值是提供所有可能的文件扩展名的字符串列表,包括前导点('.')。延伸部不保证已与任何特定的数据流相关联,但将被映射到MIME类型类型通过guess_type()

可选的严格参数与该guess_type()函数具有相同的含义。

mimetypes.guess_extension(type, strict=True)

猜测给出的扩展基于其MIME类型的文件,类型。返回值是一个给出文件扩展名的字符串,包括前导点('.')。扩展不能保证已与任何特定的数据流相关联,但将被映射到MIME类型类型通过guess_type()。如果没有扩展名可以猜出类型None则返回。

可选的严格参数与该guess_type()函数具有相同的含义。

一些额外的功能和数据项目可用于控制模块的行为。

mimetypes.init(files=None)

初始化内部数据结构。如果给定,文件必须是一系列文件名,应该用来扩充默认的类型映射。如果省略,则使用的文件名取自knownfiles; 在Windows上,加载当前的注册表设置。在文件中命名的每个文件或者优先于在它之前命名的文件knownfilesinit()允许重复呼叫。

指定文件的空列表将防止应用系统默认值:只有已知值将从内置列表中呈现。

2.7版更改:以前,Windows注册表设置被忽略。

mimetypes.read_mime_types(filename)

加载文件filename中给出的类型映射(如果存在)。类型映射作为字典映射文件扩展名(包括前导点('.'))返回到表单的字符串'type/subtype'。如果文件的文件不存在或无法读取,None则返回。

mimetypes.add_type(type, ext, strict=True)

根据MIME类型添加映射类型的扩展名EXT。当扩展名已知时,新的类型将取代旧的类型。当类型已知时,扩展名将被添加到已知扩展名列表中。

严格True(默认值),映射将被添加到官方的MIME类型,否则非标准的。

mimetypes.inited

指示全局数据结构是否已被初始化的标志。这是设置为True通过init()

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'

1. MimeTypes对象

MimeTypes类可以是用于其中可能希望多于一个MIME类型的数据库应用程序有用的; 它提供了一个类似于mimetypes模块的接口。

class mimetypes.MimeTypes(filenames=(), strict=True)

这个类表示一个MIME类型的数据库。默认情况下,它提供与该模块其余部分相同的数据库访问权限。初始数据库是模块提供的副本,可以通过mime.types使用read()or readfp()方法将附加样式文件加载到数据库中进行扩展。如果不需要默认数据,映射字典也可以在加载附加数据之前清除。

可选的文件名参数可用于使其他文件被加载到默认数据库的“顶部”。

MimeTypes.suffix_map

字典映射后缀到后缀。这用于识别编码文件和类型由相同扩展名表示的编码文件。例如,.tgz扩展名被映射为.tar.gz允许单独识别编码和类型。这最初是suffix_map模块中定义的全局副本。

MimeTypes.encodings_map

字典映射文件扩展名到编码类型。这最初是encodings_map模块中定义的全局副本。

MimeTypes.types_map

包含两个字典的元组,将文件扩展名映射到MIME类型:第一个字典用于非标准类型,第二个字典用于标准类型。它们由common_types和初始化types_map

MimeTypes.types_map_inv

包含两个字典的元组,将MIME类型映射到文件名扩展名列表:第一个字典用于非标准类型,第二个字典用于标准类型。它们由common_types和初始化types_map

MimeTypes.guess_extension(type, strict=True)

guess_extension()函数类似,使用存储为对象一部分的表。

MimeTypes.guess_type(url, strict=True)

guess_type()函数类似,使用存储为对象一部分的表。

MimeTypes.guess_all_extensions(type, strict=True)

guess_all_extensions()函数类似,使用存储为对象一部分的表。

MimeTypes.read(filename, strict=True)

从名为filename的文件加载MIME信息。这用于readfp()解析文件。

如果严格的True,信息将被添加到标准类型列表,其他非标准类型的列表。

MimeTypes.readfp(fp, strict=True)

从打开的文件fp中加载MIME类型信息。该文件必须具有标准mime.types文件的格式。

如果严格的True,信息将被添加到标准类型列表中,其他非标准类型的列表。

MimeTypes.read_windows_registry(strict=True)

从Windows注册表中加载MIME类型信息。可用性:Windows。

如果严格的True,信息将被添加到标准类型列表中,其他非标准类型的列表。

2.7版本的新功能。

扫码关注腾讯云开发者

领取腾讯云代金券