Python 3.2 Unicode编码错误
我正在尝试写一些从源代码中提取的数据(使用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 个回答
4
指定一种可以处理该字符的编码:
f = open(loc + fname + '.txt', 'w', encoding='utf-8')