email.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.
Обратите внимание, что subtype является необязательным; если этот параметр опущен, то сопоставление подраздела MIME типа выполняется только с основным типом. maintype также является необязательным; по умолчанию используется значение text.
Таким образом, по умолчанию
typed_subpart_iterator()
возвращает каждый подраздел, имеющий тип MIME text/*.
В качестве полезного средства отладки добавлена следующая функция. Это должно не считаться частью поддержанного публичного интерфейса для пакета.
-
email.iterators.
_structure
(msg, fp=None, level=0, include_default=False)¶ Печать представления с отступом типов содержимого структуры объекта сообщения. Для 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 - подобный файлу объект напечатать продукцию к. Он должен быть пригоден для функции Python
print()
. level - используемый внутренне. include_default, если true, также печатает тип по умолчанию.