在python中打开带重音符的文本文件

时间:2014-12-21 18:10:08

标签: python utf-8

我尝试使用Python 2.7打开法语文本文件。我用了命令

f=open('textfr','r')

但是当我使用

f.read()

我失去了重音字符:我得到u"J'\xc3\xa9tais \xc3\xa0巴黎而不是J'étais à巴黎等。

在linux终端时,我做

file -i textfr 

我得到了

charset=utf-8

所以我不明白......

3 个答案:

答案 0 :(得分:4)

您需要指定字符集。

f = io.open('textfr', 'r', encoding='utf-8')

答案 1 :(得分:0)

使用codecs代替标准open所以

import codecs
codecs.open('textfr','r', 'utf-8')  

答案 2 :(得分:0)

默认情况下,可以使用系统默认文本编码来读取/写入文件 在sys.getdefaultencoding()。在大多数计算机上,此设置为utf-8。但是像您这样的某些机器不使用utf-8您可以对文件使用正确的编码,或者使用通用编码的utf-8

在python 3中:

with open('somefile.txt', 'rt', encoding='utf-8') as f:
         #do stuff

在python 2中,您可以使用codecs.open()

import codecs
f=codecs.open ('somefile.txt', 'rt', encoding='utf-8').read()