当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python email.message.EmailMessage.walk用法及代码示例


用法:

walk()

walk() 方法是一个all-purpose 生成器,可用于以深度优先遍历顺序迭代消息对象树的所有部分和子部分。您通常会使用 walk() 作为 for 循环中的迭代器;每次迭代都返回下一个子部分。

这是一个打印多部分消息结构的每个部分的 MIME 类型的示例:

>>> for part in msg.walk():
...     print(part.get_content_type())
multipart/report
text/plain
message/delivery-status
text/plain
text/plain
message/rfc822
text/plain

walk 迭代 is_multipart() 返回 True 的任何部分的子部分,即使 msg.get_content_maintype() == 'multipart' 可能返回 False 。我们可以通过使用_structure debug helper 函数在我们的示例中看到这一点:

>>> from email.iterators import _structure
>>> for part in msg.walk():
...     print(part.get_content_maintype() == 'multipart',
...           part.is_multipart())
True True
False False
False True
False False
False False
False True
False False
>>> _structure(msg)
multipart/report
    text/plain
    message/delivery-status
        text/plain
        text/plain
    message/rfc822
        text/plain

这里的 message 部分不是 multiparts ,但它们确实包含子部分。 is_multipart() 返回 True 并且 walk 下降到子部分。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 email.message.EmailMessage.walk。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。