email.iterators
: Iterators¶
Вихідний код: Lib/email/iterators.py
Ітерація дерева об’єктів повідомлення досить проста за допомогою методу Message.walk
. Модуль email.iterators
забезпечує деякі корисні ітерації вищого рівня над деревами об’єктів повідомлень.
- email.iterators.body_line_iterator(msg, decode=False)¶
Це повторює всі корисні навантаження в усіх підчастинах msg, повертаючи рядкові корисні навантаження рядок за рядком. Він пропускає всі заголовки підчастини, а також пропускає будь-яку підчастину з корисним навантаженням, яке не є рядком Python. Це дещо еквівалентно читанню простого текстового представлення повідомлення з файлу за допомогою
readline()
, пропускаючи всі проміжні заголовки.Додаткове decode передається до
Message.get_payload
.
- email.iterators.typed_subpart_iterator(msg, maintype='text', subtype=None)¶
Це повторює всі підчастини msg, повертаючи лише ті підчастини, які відповідають типу MIME, визначеному maintype і subtype.
Зауважте, що підтип необов’язковий; якщо опущено, то зіставлення типу MIME підрозділу виконується лише з основним типом. maintype також необов’язковий; за замовчуванням text.
Таким чином, за замовчуванням
typed_subpart_iterator()
повертає кожну підчастину, яка має тип MIME text/*.
Наведену нижче функцію було додано як корисний інструмент налагодження. Його не слід вважати частиною підтримуваного загальнодоступного інтерфейсу пакета.
- email.iterators._structure(msg, fp=None, level=0, include_default=False)¶
Друкує представлення типів вмісту структури об’єкта повідомлення з відступом. Наприклад:
>>> 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 — це файлоподібний об’єкт, у який потрібно надрукувати вихідні дані. Він має відповідати функції
print()
Python. level використовується внутрішньо. include_default, якщо true, також друкує тип за замовчуванням.