尝试打印文件名会导致异常

时间:2019-01-21 21:21:57

标签: python-3.x

import os
for p, n, f in os.walk('.')
    print(p, n, f)

在Windows 10上使用Python 3.5.4

尝试打印包含(R)商标字符的文件名时遇到此错误(特别是Intel Power Gadget快捷方式):

  File "<stdin>", line 2, in <module>                                                       
  File "C:\Users\xxxx\AppData\Local\Programs\Python\Python35-32\lib\encodings\cp43
7.py", line 19, in encode                                                                   
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]                         
UnicodeEncodeError: 'charmap' codec can't encode character '\xae' in position 22: character 
maps to <undefined>     

1 个答案:

答案 0 :(得分:0)

在这种情况下,问题是终端编码。具体来说,请使用ConEmu程序代替CMD.EXE

https://conemu.github.io/en/UnicodeSupport.html

您可以将UTF8设置为从ConEmu开始的所有控制台的默认编码。如果您确实想这样做,请转到“设置/环境”页面并添加以下行:

chcp utf8