Мне нужно обработать сотни тысяч файлов eml. Проведя некоторые временные тесты, кажется, что часть, которая занимает хорошее предложение времени, - это фактическое чтение файлов eml. Это разные типы сообщений электронной почты - например, некоторые электронные письма, некоторые - мгновенные сообщения и т. Д. c.
Электронная почта длится дольше всех. Вот что я делал до сих пор:
import email
from email.parser import Parser
#Emails
message = email.message_from_file(open(file, encoding = 'utf-8')
messages = [part.get_payload() for part in message.walk() if part.get_content_type() == 'text/plain']
#IMs
if message.is_multipart():
chat = str(parser.parsestr(str(message)).get_payload(0))
else:
chat = str(parser.parsestr(str(message)).get_payload()
Это всего пара строк для каждой, но мне просто интересно, есть ли быстрый / более быстрый способ синтаксического анализа / чтения в emls в Python (и получите только тело).