在Python中读取带有法语字符的文件

时间:2018-04-18 11:45:41

标签: python file python-unicode

我想阅读一个包含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”。有没有办法实现这个目标?

1 个答案:

答案 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)