Python

email.iterators: Iterators

email.iterators: Iterators

使用该Message.walk方法在消息对象树上迭代相当容易。该email.iterators模块为消息对象树提供了一些有用的更高级别的迭代。

email.iterators.body_line_iterator(msg[, decode])

这遍历msg的所有子部分中的所有有效负载,逐行返回字符串有效负载。它跳过所有的子部分头文件,并跳过任何不是Python字符串的有效负载的子部分。这有点相当于从文件中读取消息的平面文本表示readline(),跳过所有中间头文件。

可选解码传递给Message.get_payload

email.iterators.typed_subpart_iterator(msg[, maintype[, subtype]])

这遍历msg的所有子部分,仅返回匹配由maintypesubtype指定的MIME类型的子部分

请注意,子类型是可选的; 如果省略,则子部分MIME类型匹配仅与主类型匹配。maintype也是可选的; 它默认为文本

因此,默认typed_subpart_iterator()返回MIME类型为text / *的每个子部分。

以下功能已被添加为有用的调试工具。它应该被认为是支持公共接口包的一部分。

email.iterators._structure(msg[, fp[, level]])

打印消息对象结构的内容类型的缩进表示。例如:

>>> msg = email.message_from_file(somefile) >>> _structure(msg) multipart/mixed text/plain text/plain multipart/digest message/rfc822 text/plain message/rfc822 text/plain message/rfc822 text/plain message/rfc822 text/plain message/rfc822 text/plain text/plain

可选的fp是一个类似文件的对象来打印输出。它必须适用于Python的扩展打印语句。级别在内部使用。