Найти - Пользователи
Полная версия: разбор письма в Python
Начало » Python для новичков » разбор письма в Python
1
azathoth
Добрый день,

Возникла проблема в разборе письма, а точнее при переводе текста из Quoted-Printable в UTF-8, я разобрался как декодировать что-то из заголовка письма:
>>> import email
>>> input = open('2.msg','r')
>>> msg = email.message_from_file(input)
>>> email.Header.decode_header(msg)

но при попытке декодировать тело письма, интерпретатор выдает ошибку:

>>> email.utils.decode_rfc2231(msg.get_payload(0))
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “/usr/lib/python2.7/email/utils.py”, line 236, in decode_rfc2231
parts = s.split(TICK, 2)
AttributeError: Message instance has no attribute ‘split’

Помогите, пожалуйста, разобраться в чем моя ошибка.

PS:
Я бы хотел добавить, что сейчас реализовал желаемое вот таким скриптом:
#!/usr/bin/python
# -*- coding: utf-8 -*-

import quopri

text=''

with open('2.msg','r') as input_file:
for line in input_file.readlines():
a = line.rstrip('=\n\r')
text += a

with open('2.msg.decode','w') as output_file:
output_file.write(quopri.decodestring(text))

Но мне бы очень хотелось понять мою ошибку при использовании модуля email
Budulianin
azathoth
Но мне бы очень хотелось понять мою ошибку при использовании модуля email

Файл приложи
pyuser
azathoth
email.Header.decode_header(msg)
Функция декодирует конкретный заголовок (Subject, From, To, …), а не сообщение целиком.
В справке по пакету email есть примеры.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB