【发布时间】:2014-01-02 13:27:05
【问题描述】:
递归目录中的文件并在控制台中打印文件名时出现以下错误:
Traceback (most recent call last):
File "C:\Program Files\Python33\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' in position
53: character maps to <undefined>
根据错误,文件名字符串中的一个字符是\u2013,这是一个与常见的-减号不同的EN DASH –字符。
我检查了设置为437 的Windows 编码。现在,我看到我有两个选项可以通过更改 Windows 控制台的编码或从文件名转换 get 中的字符以适应控制台编码来解决此问题。我将如何在 Python 3.3 中做到这一点?
【问题讨论】:
标签: python python-3.x unicode