18.6. mimetools — 用于解析 MIME 消息的工具 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/mimetools
18.6. 模仿工具 — 解析 MIME 消息的工具
该模块定义了 rfc822 模块的 Message 类的子类和许多对 MIME 多部分或编码消息的操作有用的实用函数。
它定义了以下项目:
- class mimetools.Message(fp[, seekable])
- 返回 Message 类的新实例。 这是 rfc822.Message 类的子类,带有一些附加方法(见下文)。 seekable 参数与 rfc822.Message 的含义相同。
- mimetools.choose_boundary()
- 返回一个唯一的字符串,它很有可能用作部件边界。 字符串的格式为
'hostipaddr.uid.pid.timestamp.random'。
- mimetools.decode(input, output, encoding)
- 从打开的文件对象 input 中读取使用允许的 MIME encoding 编码的数据,并将解码后的数据写入打开文件对象 output。 encoding 的有效值包括
'base64'、'quoted-printable'、'uuencode'、'x-uuencode'、'uue'、[ X102X]、'7bit'和'8bit'。 解码以'7bit'或'8bit'编码的消息无效。 输入被简单地复制到输出。
- mimetools.encode(input, output, encoding)
- 从打开的文件对象 input 中读取数据并使用允许的 MIME encoding 将其编码以打开文件对象 output。 encoding 的有效值与 decode() 的有效值相同。
- mimetools.copyliteral(input, output)
- 从打开的文件 input 读取行直到 EOF 并将它们写入打开文件 output。
- mimetools.copybinary(input, output)
- 从打开的文件 input 读取块直到 EOF,并将它们写入打开文件 output。 块大小目前固定为 8192。
也可以看看
- 模块电子邮件
- 全面的电子邮件处理包; 取代 mimetools 模块。
- 模块 rfc822
- 提供 mimetools.Message 的基类。
- 模块 多文件
- 支持读取包含不同部分的文件,例如 MIME 数据。
- http://faqs.cs.uu.nl/na-dir/mail/mime-faq/.html
- MIME 常见问题文档。 有关 MIME 的概述,请参阅本文档第 1 部分中问题 1.1 的答案。
18.6.1. 消息对象的附加方法
除了 rfc822.Message 方法之外,Message 类还定义了以下方法:
- Message.getplist()
- 返回 Content-Type 头的参数列表。 这是一个字符串列表。 对于
key=value形式的参数,key 被转换为小写,但 value 不是。 例如,如果消息包含标题Content-type: text/html; spam=1; Spam=2; Spam,那么 getplist() 将返回 Python 列表['spam=1', 'spam=2', 'Spam']。
- Message.getparam(name)
- 为给定的 name 返回形式为
name=value的第一个参数的 value(由 getplist() 返回)。 如果 value 被形式为 '<...>' 或 '"..."' 的引号包围,则删除它们.
- Message.getencoding()
- 返回 Content-Transfer-Encoding 消息头中指定的编码。 如果不存在这样的标头,则返回
'7bit'。 编码转换为小写。
- Message.gettype()
- 返回 Content-Type 标头中指定的消息类型(形式为
type/subtype)。 如果不存在这样的标头,则返回'text/plain'。 类型转换为小写。
- Message.getmaintype()
- 返回 Content-Type 标头中指定的主要类型。 如果不存在这样的标头,则返回
'text'。 主要类型转换为小写。
- Message.getsubtype()
- 返回 Content-Type 标头中指定的子类型。 如果不存在这样的标头,则返回
'plain'。 子类型转换为小写。