所以我有一个问题,即脚本没有将Cyrillic符号添加到列表中,我收到此错误:
Traceback(最近一次调用最后一次):文件 “c:\ Users \ Viktor \ Desktop \ Folder Compare.py”,第23行,in print(list_script)文件“C:\ Users \ Viktor \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ encodings \ cp1252.py”, 第19行,编码 return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError:'charmap'编解码器无法对字符进行编码 位置6-11:字符映射到
我在堆栈溢出时找到了几个解决方案,但它们对我来说并不适用
list1, list2 = ([] for i in range(2))
for dirpath, dirnames, filenames in os.walk('D:\\Folder'):
for fname in filenames:
list1.append(fname)
for list_script in list1:
print(list_script)
答案 0 :(得分:2)
问题是你打印的地方有cp1252编码。此编码不能代表加密字符,因此在您尝试打印时会引发错误。
尝试更改终端编码。
答案 1 :(得分:1)
你可以尝试将PYTHONIOENCODING环境变量设置为' UTF-8':
os.environ["PYTHONIOENCODING"] = 'UTF-8'
或更改stdout编码:
sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer)