我编写了一些使用 Biopython Entrez 包装器的代码。代码在我以前的 Win10 笔记本电脑 (Python 3.5.1) 上运行良好,但我刚刚将代码移植到安装了相同版本的每个包和 Python 的新 Win10 笔记本电脑上,现在出现解码错误。
回溯错误导致一个获取文本的函数 - 它尝试使用 cp1252 解码文本,而实际上应该使用 UTF-8。我知道已经有人问过类似的问题,但没有人处理过包内发生的这个问题(在我的例子中是 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>
Use the io
如果您使用的是 Python 3.x (https://docs.python.org/2/library/io.html#io.open https://docs.python.org/2/library/io.html#io.open)。
默认情况下,它将使用其运行平台上指定的编码。您还可以按照文档中的说明指定自己的编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)