Я пытаюсь декодировать заголовки тем письма.
Я делаю это (регулярное выражение для добавления пробела между двумя = *:
header = '=?iso-8859-1?B?TU9UT1IubmwgbmlldXdzYnJpZWYgPiBOaWV1d2UgdmVya29vcHRvcHBl?==?iso-8859-1?B?ciBTdXp1a2kg?='
header = re.sub(r"(==)(?!$)", u"\0= =", header)
email.header.decode_header(header)
Но это вызывает ошибку HeaderParseError:
HeaderParseError Traceback (most recent call last)
/home/leon/<ipython console> in <module>()
/usr/lib/python2.7/email/header.pyc in decode_header(header)
106 # now we throw the lower level exception away but
107 # when/if we get exception chaining, we'll preserve it.
--> 108 raise HeaderParseError
109 if dec is None:
110 dec = encoded
Забавно, если я скопирую вывод re.sub () в буфер обмена и сделаю:
email.header.decode_header('=?iso-8859-1?B?TU9UT1IubmwgbmlldXdzYnJpZWYgPiBOaWV1d2UgdmVya29vcHRvcHBl?= =?iso-8859-1?B?ciBTdXp1a2kg?=')
это работает!
Так что я думаю, что-то не так с кодировкой re.sub (), но я не знаю, как это исправить.