我已经编写了一些使用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>
答案 0 :(得分:1)
如果您使用的是Python 3.x(https://docs.python.org/2/library/io.html#io.open),请使用io
模块进行阅读。
默认情况下,它将使用在其运行平台上指定的编码。您也可以按照文档中的说明指定自己的编码。