Форум сайта python.su
при записи списка в файл, используя вот такой код:
f.write("\n".join([str(i) for i in mlist]))
Офлайн
В какой кодировке строка? Что является элементом списка? Использовать примерно следующее, если элементы в юникоде:
i.encode('utf8')
#или
str(i).encode('utf8')
Отредактировано (Окт. 18, 2011 06:03:03)
Офлайн
не помогло…
для перекодирования использую вот такой код(спасибо pyuser)
def _decode_header(msg):
header = {"from": None, "to": None, "subject": None}
for h in header:
txt, enc = decode_header(msg[h])[0]
header[h] = txt.decode(enc) if enc else txt
frm=header
sbj=header
return header,frm,sbj
...
#вот сама строка
mlist.append(';;'+_decode_header(msg)[1]['from']+'::'+_decode_header(msg)[2]['subject']+'::'+uidl+';;'+'\n')
Офлайн
сначала выведи на экран то, что выводишь в файл
там может находится не то, что ты думаешь
Офлайн