Python 3.2 UnicodeEncodeError

标签 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()

如何将其写入文件?

最佳答案

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

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

关于Python 3.2 UnicodeEncodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4964721/

相关文章:

python - 纯 Python 逆误差函数

python - mongodb, pymongo 查询

python - 用python编写的鼠标运动跟踪程序

python - 合并两个数据框并使用多索引创建一个新数据框

java - 中文 UTF-8 字符在 Weblogic 10.3 中显示不正确,但在 Tomcat 6 中则不然

jquery - 如何阻止文本框输入 Unicode 字符?

numpy - 导入 numpy 抛出错误 : SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated\uXXXX escape

Python ASCII 编解码器在写入 CSV 时无法编码字符错误

java - 检查字符串是否与 mySQL 兼容 UTF-8

php - mysql_query 不返回任何内容,但可以手动使用 åæø