我想阅读一个包含Python中法语字符的文件,例如“é”。我正在使用这些代码行来执行此操作:
import codecs
with codecs.open(r'C:\Users\chsafouane\Desktop\saf.txt', encoding='ascii') as f:
for line in f.readlines():
line
然而,我得到了一个
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 3: ordinal not in range(128)
要重现错误,我正在尝试阅读的文件只包含一个词:“Accélération”。有没有办法实现这个目标?
答案 0 :(得分:1)
对于仅包含“Accélération”这个词的fie,utf-8 encodinf不起作用并返回以下错误
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 3: invalid continuation byte
正如@sciroccorics所提出的,latin-1
编码效果很好,它会返回正确的单词。所以有效的代码块如下:
import codecs
with codecs.open(r'C:\Users\chsafouane\Desktop\saf.txt', encoding='latin1') as f:
for line in f.readlines():
print(line)