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'
。 子类型转换为小写。