Python readlines () дает разную длину, когда я использую другую кодировку - PullRequest
0 голосов
/ 17 ноября 2018

Для одного и того же файла test.txt я пробовал разные методы, чтобы прочитать его, но получил другой результат.Все три из перечисленных ниже дали мне желаемый результат, например, 1000.

with open('test.txt','r') as f:
    print(len(f.readlines()))

и

with open('test.txt','r',encoding='utf-8') as f:
    print(len(f.readlines()))

и

with codecs.open('test.txt','r') as f:
    print(len(f.readlines()))

Я побежал wc -l test.txt в терминале, и это также дало 1000.

Но следующее дало другой результат, такой как 1007.

with codecs.open('test.txt','r',encoding='utf-8') as f:
    print(len(f.readlines()))

Означает ли это, что кодеки обрабатывают кодирование иначе, чем io?Кто-нибудь знает возможную причину этого?Заранее спасибо.

...