【发布时间】:2016-12-14 11:37:06
【问题描述】:
我编写了一些使用 Biopython Entrez 包装器的代码。代码在我以前的 Win10 笔记本电脑(Python 3.5.1)上运行良好,但我刚刚将代码移植到了新的 Win10 笔记本电脑,每个包的版本和 Python 都安装了相同的版本,我现在遇到了解码错误。
回溯错误导致获取文本的函数 - 当它应该使用 UTF-8 时,它试图使用 cp1252 解码文本。我知道有人问过类似的问题,但没有人处理过包内发生的这个问题(在我的例子中是 Biopython)。将Python/lib中的UTF-8编码文件复制并重命名为cp1252.py即可解决问题,但这显然不是长久之计。
File "C:\Users\arjun\AppData\Local\Programs\Python\Python35-32\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 21715: character maps to <undefined>
【问题讨论】:
-
我有类似的问题。你设法解决了吗?我检查了答案,显然 python 选择了默认的系统编码。这个命令应该设置了正确的编码:chcp 65001 但在我的情况下它不起作用。我使用了这里提到的方法:stackoverflow.com/questions/9233027/… 这在我的情况下有效。
标签: encoding python-3.5