【发布时间】:2015-02-06 14:37:31
【问题描述】:
这段代码:
for root, dirs, files in os.walk('.'):
print(root)
给我这个错误:
UnicodeEncodeError: 'utf-8' codec can't encode character '\udcc3' in position 27: surrogates not allowed
如何遍历文件树而不得到这样的有毒字符串?
【问题讨论】:
-
python 3 的哪个版本?
-
Python 3.4.0(默认,2014 年 4 月 11 日,13:05:11)在 Ubuntu 14.04 上。我有
LANG=en_US.UTF-8 -
print(root.encode("utf-8", "surrogateescape"))有什么作用吗? -
stackoverflow.com/questions/38147259/… 对错误消息的含义进行了更详细的解释。
标签: python python-3.x unicode unicode-string python-unicode