Python 3.2 Unicode编码错误

2 投票
1 回答
1061 浏览
提问于 2025-04-16 11:37

我正在尝试写一些从源代码中提取的数据(使用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')

撰写回答