Спорим у вас винда?
Прочитайте спецификацию функции open. В частности про параметр encoding.
Когда записываете текст в виде байтов (а в файлах он именно так хранится), то нужно понимать какой кодировкой вы кодируете не ascii-символы.
Вы явно не указываете кодировку, поэтому выбирается кодировка по умолчанию. Посмотреть что у вас там по умолчанию можно вот этой фунцией
sys.getdefaultencoding()
Именно в такой кодировке нужно открывать ваш файл на чтение, чтобы увидеть там русские буквы.
В винде у вас скорее всего одна из двух кодировок там может быть. И она разная в зависимости от того в консоли вы запустили свою прогу, или в IDE. А ещё подстава - в винде по умолчанию однобайтовые кодировки, поэтому не все символы можно в них представить!
С этим в линуксе гораpдо лучше. По умолчани везде utf-8.
Вот, кстати, можете проверить что получится для понятности:
> 'íåæèëîãî'.encode('latin1').decode('cp1251')
'нежилого'