email.iterators
: Iteratorer¶
Källkod: Lib/email/iterators.py
Att iterera över ett meddelandeobjektträd är ganska enkelt med metoden Message.walk
. Modulen email.iterators
ger några användbara iterationer på högre nivå över träd med meddelandeobjekt.
- email.iterators.body_line_iterator(msg, decode=False)¶
Detta itererar över alla nyttoladdningar i alla underdelar av msg och returnerar strängnyttoladdningarna rad för rad. Den hoppar över alla underavdelningsrubriker och den hoppar över alla underavdelningar med en nyttolast som inte är en Python-sträng. Detta motsvarar i viss mån att läsa den platta textrepresentationen av meddelandet från en fil med
readline()
, och hoppa över alla mellanliggande rubriker.Valfri decode skickas vidare till
Message.get_payload
.
- email.iterators.typed_subpart_iterator(msg, maintype='text', subtype=None)¶
Detta itererar över alla underdelar av msg och returnerar endast de underdelar som matchar den MIME-typ som anges av maintype och subtype.
Observera att subtype är valfri; om den utelämnas görs matchning av MIME-typer för underdelar endast med huvudtypen. maintype är också valfritt; standardvärdet är text.
Som standard returnerar alltså
typed_subpart_iterator()
varje underavsnitt som har MIME-typen text/*.
Följande funktion har lagts till som ett användbart felsökningsverktyg. Den ska inte betraktas som en del av det offentliga gränssnitt som stöds för paketet.
- email.iterators._structure(msg, fp=None, level=0, include_default=False)¶
Skriver ut en indragen representation av innehållstyperna i meddelandeobjektstrukturen. Till exempel
>>> 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
Valfritt fp är ett filliknande objekt att skriva ut utdata till. Det måste vara lämpligt för Pythons funktion
print()
. level används internt. include_default, om true, skriver ut standardtypen också.