首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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]])

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

代码语言:javascript
复制
>>> 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的扩展打印语句。级别在内部使用。

扫码关注腾讯云开发者

领取腾讯云代金券