当我使用不同的编码时,Python readlines()会给出不同的长度

时间:2018-11-17 00:57:00

标签: python io codec

对于同一个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不同?有人知道可能的原因吗?预先感谢。

0 个答案:

没有答案