Документация Python неофициальный перевод

mimewriter.md

44 строк · 6.5 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/library/mimewriter.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 18.8. [`MimeWriter`](https://python-all.ru/2.7/library/mimewriter.html#module-MimeWriter) – Универсальный модуль записи MIME-файлов89Устарело с версии 2.3: Пакет [`email`](https://python-all.ru/2.7/library/email.html#module-email) следует использовать вместо модуля [`MimeWriter`](https://python-all.ru/2.7/library/mimewriter.html#module-MimeWriter) . Этот модуль присутствует только для поддержания обратной совместимости.1011Этот модуль определяет класс [`MimeWriter`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter). Класс [`MimeWriter`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter) реализует базовый форматировщик для создания многочастных MIME-файлов. Он не перемещается по выходному файлу и не использует большие объёмы буферной памяти. Части должны записываться в том порядке, в котором они должны находиться в итоговом файле. [`MimeWriter`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter) буферизует добавляемые заголовки, что позволяет переставлять их порядок.1213#### `class MimeWriter.MimeWriter(fp)`1415Возвращает новый экземпляр класса [`MimeWriter`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter). Единственный передаваемый аргумент, *fp*, – это файловый объект для записи. Обратите внимание, что вместо него можно также использовать объект [`StringIO`](https://python-all.ru/2.7/library/stringio.html#StringIO.StringIO).1617## 18.8.1. Объекты MimeWriter1819Экземпляры [`MimeWriter`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter) имеют следующие методы:2021#### `MimeWriter.addheader(key, value[, prefix])`2223Добавляет строку заголовка в MIME-сообщение. Параметр *key* – это имя заголовка, а *value*, очевидно, задаёт значение заголовка. Необязательный аргумент *prefix* определяет, куда вставляется заголовок; `0` означает добавление в конец, `1` – вставку в начало. По умолчанию заголовок добавляется в конец.2425#### `MimeWriter.flushheaders()`2627Записывает (и забывает) все накопленные на данный момент заголовки. Это полезно, если тело части не требуется вовсе, например, для подчасти типа *message/rfc822*, которая (не по назначению) используется для хранения некоторой информации, похожей на заголовки.2829#### `MimeWriter.startbody(ctype[, plist[, prefix]])`3031Возвращает файлоподобный объект, который можно использовать для записи тела сообщения. Тип содержимого устанавливается в указанный *ctype*, а необязательный параметр *plist* предоставляет дополнительные параметры для объявления типа содержимого. *prefix* работает как в [`addheader()`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter.addheader), за исключением того, что по умолчанию вставка производится в начало.3233#### `MimeWriter.startmultipartbody(subtype[, boundary[, plist[, prefix]]])`3435Возвращает файлоподобный объект, который можно использовать для записи тела сообщения. Кроме того, этот метод инициализирует многочастный код, где *subtype* задаёт подтип multipart, *boundary* может содержать заданную пользователем спецификацию границы, а *plist* предоставляет необязательные параметры для подтипа. *prefix* работает как в [`startbody()`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter.startbody). Подчасти следует создавать с помощью [`nextpart()`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter.nextpart).3637#### `MimeWriter.nextpart()`3839Возвращает новый экземпляр [`MimeWriter`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter), представляющий отдельную часть в многочастном сообщении. Его можно использовать для записи части, а также для создания рекурсивно сложных многочастных сообщений. Перед использованием [`nextpart()`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter.nextpart) сообщение должно быть инициализировано с помощью [`startmultipartbody()`](https://python-all.ru/2.7/library/mimewriter.html#MimeWriter.MimeWriter.startmultipartbody).4041#### `MimeWriter.lastpart()`4243Используется для обозначения последней части многочастного сообщения, и его следует *всегда* использовать при записи многочастных сообщений.44