【发布时间】:2016-05-11 10:50:57
【问题描述】:
我有一个带有关键字的文本文件,我使用了
with open('filename.txt','r') as file:
list_of_words = [x.strip('\n') for x in file.readlines()
我得到一个: UnicodeDecodeError : 'ascii' 编解码器无法解码位置 5595 中的字节 0xc4:序数不在范围内 (128) 在第 2 行
我理解错误。我不明白为什么它在第 2 行。
根据 python 文档:https://docs.python.org/3/library/functions.html#open
在文本模式下(默认,或者当模式中包含 't' 时 参数),文件的内容以 str 的形式返回,字节 已使用平台相关编码或使用 指定的编码(如果给定)。
这意味着在打开文件时,解码过程在打开文件时发生,并在'file'变量中返回。
那么为什么我会在第 2 行得到错误呢?
【问题讨论】:
-
为什么会发生在第 1 行?只有在实际读取数据时才会发生任何解码。只有在第 2 行,您才从文件中读取数据。
标签: python python-3.x python-3.4