email.iterators
: итераторы
Итерация по дереву объектов сообщения довольно проста с помощью метода
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) Выводит представление типов содержимого структуры объекта сообщения с отступом. Например:
>>> 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, если истина, также печатает тип по умолчанию.