В файле mbox
я сохранил несколько электронных писем: они также могут использовать MIME. Они должны быть извлечены как они есть в файле mbox
, без модификаций, с помощью скрипта Python3
. Я попробовал следующий код:
import mailbox
for message in mailbox.mbox('mboxfile'):
mstring = message.as_string()
print(mstring)
Кажется, это печатает необработанное содержимое электронных писем. Электронные письма в mbox
не всегда используют \r\n
для всех своих новых строк: иногда они имеют только \n
. В любом случае, в выводе message.as_string()
всегда используется \n
, как указано в страница руководства.
В руководстве также говорится (около as_string()
):
Обратите внимание, что этот метод предоставляется для удобства и может быть не самым полезным способом сериализации сообщений в вашем приложении, особенно если вы имеете дело с несколькими сообщениями.
Я не могу полностью понять, что может означать это предложение. Мой файл mbox
, очевидно, содержит несколько электронных писем, и я хотел бы извлечь их все. Прежде всего, я хотел бы получить точно те же необработанные электронные письма, которые там хранятся, без никакой модификации и сохраняя для каждой строки свой оригинал \r\n
или \n
, как если бы я использовал cat
в файле mbox
. Так:
- Является ли мой код правильным способом сделать это?
- Если нет, то какой путь будет правильным?