email.iterators
: Iterators
¶
Iterating over a message object tree is fairly easy with the
Message.walk
method. The
email.iterators
module provides some useful higher level iterations over message object trees.
email.iterators.
body_line_iterator
(
msg
,
decode=False
)
¶
This iterates over all the payloads in all the subparts of
msg
, returning the string payloads line-by-line. It skips over all the subpart headers, and it skips over any subpart with a payload that isn’t a Python string. This is somewhat equivalent to reading the flat text representation of the message from a file using
readline()
, skipping over all the intervening headers.
可选
decode
is passed through to
Message.get_payload
.
email.iterators.
typed_subpart_iterator
(
msg
,
maintype='text'
,
subtype=None
)
¶
This iterates over all the subparts of msg , returning only those subparts that match the MIME type specified by maintype and subtype .
注意, subtype is optional; if omitted, then subpart MIME type matching is done only with the main type. maintype is optional too; it defaults to text .
Thus, by default
typed_subpart_iterator()
returns each subpart that has a MIME type of
text/*
.
The following function has been added as a useful debugging tool. It should not be considered part of the supported public interface for the package.
email.iterators.
_structure
(
msg
,
fp=None
,
level=0
,
include_default=False
)
¶
Prints an indented representation of the content types of the message object structure. For example:
>>> 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
is a file-like object to print the output to. It must be suitable for Python’s
print()
函数。
level
is used internally.
include_default
, if true, prints the default type as well.