Python 3.2 UnicodeEncodeError

时间:2011-02-11 01:27:11

标签: python unicode utf-8 python-3.x

我正在尝试编写从某些源代码中提取的一些数据(使用httplib2和lxml.html),但每当我尝试编写数据时,我都会收到此错误:

UnicodeEncodeError: 'charmap' codec can't encode character '\u012b' in position 505: character maps to <undefined>

在整个程序中,我可以很好地打印文本,但是当我尝试写入文件时,我得到了错误。例如,在下面的代码中我可以打印defs就好了,但是当我尝试写入文件时出现上述错误。

print(defs)  #Good
f = open(loc+fname+'.txt', 'w')
f.write(defs)  #Bad
f.close()

如何才能将其写入文件?

1 个答案:

答案 0 :(得分:4)

指定可以处理字符的编码:

f = open(loc + fname + '.txt', 'w', encoding='utf-8')