用法:
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 email.message.EmailMessage.add_header用法及代码示例
- Python email.message.Message.walk用法及代码示例
- Python email.message.Message.add_header用法及代码示例
- Python email.message.Message.as_bytes用法及代码示例
- Python email.message.Message.as_string用法及代码示例
- Python email.headerregistry.DateHeader用法及代码示例
- Python email.utils.getaddresses用法及代码示例
- Python email.header.decode_header用法及代码示例
- Python email.iterators._structure用法及代码示例
- Python email.headerregistry.BaseHeader用法及代码示例
- Python emoji转text用法及代码示例
- Python numpy matrix empty()用法及代码示例
- Python numpy matrix eye()用法及代码示例
- Python enchant.request_dict()用法及代码示例
- Python eval()用法及代码示例
- Python enum.IntEnum用法及代码示例
- Python math expm1()用法及代码示例
- Python enchant.get_enchant_version()用法及代码示例
- Python enchant.request_pwl_dict()用法及代码示例
- Python eval用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 email.message.EmailMessage.walk。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。