email.iterators迭代

源代码: Lib / email / iterators.py


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

email.iterators.body_line_iteratormsg, decode=False

这将遍历msg,逐行返回字符串有效负载。它会跳过所有子部分标题,并使用不是Python字符串的有效内容覆盖任何子部分。这相当于使用readline()跳过所有干扰标题.

可选decode传递给Message.get_payload.

email.iterators.typed_subpart_iteratormsg, maintype=”text, subtype=None

这遍历所有子部分对msg,只返回匹配maintypesubtype.

指定的MIME类型的那些子部分。注意subtype是可选的;如果省略,则子部分MIME类型匹配仅与主类型匹配。maintype也是可选的;它默认为text.

因此,默认情况下typed_subpart_iterator()返回aMIME类型为text/*.

的每个子部分已添加以下函数作为有用的调试工具。应该not被认为是包支持的公共接口的一部分.

email.iterators._structure (msg, fp=None, level=0, include_default=False)

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

>>> 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的print()功能。level在内部使用.include_default,如果是,则打印默认类型.

评论被关闭。