我尝试使用Python 2.7打开法语文本文件。我用了命令
f=open('textfr','r')
但是当我使用
时f.read()
我失去了重音字符:我得到u"J'\xc3\xa9tais \xc3\xa0
巴黎而不是J'étais à
巴黎等。
在linux终端时,我做
file -i textfr
我得到了
charset=utf-8
所以我不明白......
答案 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()