我在win7中使用python 3.3.3-我只想列出网络目录中的所有文件。
import os
for root, dirs, files in os.walk("X:\\network\\path\\foo\\bar\\baz"):
print(root)
print(dirs)
print(files)
经过一段时间的打印后,它会输出此异常。
Traceback (most recent call last):
File "program.py", line 6, in <module>
print(files)
File "C:\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 '\u2019' in position
2753: character maps to <undefined>
我如何简单地打印?我似乎总是在python 3中遇到这些unicode问题。我只希望简单的事情变得简单。
在Windows 7中,控制台无法正确支持Unicode编码。您需要将字符串编码为cp-437:
print(root.encode("cp437", "backslashreplace").decode("cp437"))
那应该删除所有在DOS控制台中无法打印的字符,并用它们\unnnn
或\xnn
等效的字符替换它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句