Open () и codecs.open () в Python 2.7 ведут себя странно по-разному

У меня есть текстовый файл с первой строкой символов Unicode и всех других строк в ASCII. Я пытаюсь прочитать первую строку как одну переменную, а все остальные строки как другую. Тем не менее, когда я использую следующий код:

# -*- coding: utf-8 -*-
import codecs
import os
filename = '1.txt'
f = codecs.open(filename, 'r3', encoding='utf-8')
print f
names_f = f.readline().split(' ')
data_f = f.readlines()
print len(names_f)
print len(data_f)
f.close()
print 'And now for something completely differerent:'
g = open(filename, 'r')
names_g = g.readline().split(' ')
print g
data_g = g.readlines()
print len(names_g)
print len(data_g)
g.close()

Я получаю следующий вывод:


28

7

And now for something completely differerent:



28

77

Если я неt использовать readlines (), чтение всего файла, а не только первые 7 строк как в codecs.open (), так и в open ().

Почему такое происходит? И почему codecs.open () читает файл в двоичном режиме, несмотря на 'r' параметр добавлен?

Upd: это оригинальный файл:http://www1.datafilehost.com/d/0792d687

Ответы на вопрос(1)

Ваш ответ на вопрос