當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python email.message.Message.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 函數在我們的示例中看到這一點:

>>> 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.Message.walk。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。