Zarich1пусть исходный файл в кодировке виндовой cp1251. Текстовой редактор ( пусть блокнот) открывая файл руководствуется системной кодировкой что бы преобразовать байты в символы. Вы видите корректный текст на кириллице потому что совпали кодировки текста и программы. Если перевести этот текст в другую кодировку, то блокнот откроет ее и покажет кракозябры, потмоу что не совпали кодировки текста и программы, НО при этом сам текст кодирован абсолютно корректно.
Поэтому вот это
Zarich1
файл, который я получу на выходе, все равно будет читаться по старой таблице кодировок (Аски например), а надо, чтобы читало по таблице windows-1251
относится не к Питону и даже не файлам и их содержимому, а к программе которая будет это читать.
ВОт ниже код:
>>> su=u'Привет'
>>> with open('cp1251.txt', 'w') as f: f.write(s.encode('cp1251'))
>>> with open('koi8r.txt', 'w') as f: f.write(su.encode('koi8-r'))
Блокнот в Windows XP покажет корреткно первый и не корректно второй файлы. Notepad++ тоже самое, НО если ему задать отображение второго файла в кодировке koi8-r, то он отобразит его корректно.