Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 14, 2014 11:16:08

azathoth
Зарегистрирован: 2014-01-13
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

разбор письма в Python

Добрый день,

Возникла проблема в разборе письма, а точнее при переводе текста из 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

Отредактировано azathoth (Янв. 14, 2014 12:16:46)

Офлайн

#2 Янв. 15, 2014 02:58:31

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

разбор письма в Python

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

Файл приложи



Офлайн

#3 Янв. 15, 2014 06:30:40

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

разбор письма в Python

azathoth
email.Header.decode_header(msg)
Функция декодирует конкретный заголовок (Subject, From, To, …), а не сообщение целиком.
В справке по пакету email есть примеры.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version