我必须使用哪种python编码类型来读取非utf-8字符?

时间:2015-07-06 03:00:50

标签: python utf-8 dna-sequence

我必须让我的python脚本读取DNA查询字符串文件并用它进行搜索。

嗯,该文件包含这种类型的字符:

Screenshot

并且python默认编码无法使用文件的readline()函数读取此行。引发以下错误:

[...]
File "/usr/lib/python3.4/codecs.py", line 319, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x81 in position 860: invalid start byte

我也尝试过使用utf_16和ascii,但没有取得任何积极成果。我怎么读这个?

1 个答案:

答案 0 :(得分:1)

您需要先弄清楚您必须阅读的文本文件的实际编码,然后对该文件使用open并使用正确的encoding参数打开它。钻石?只是控制台中的占位符字符,因此您的默认系统编码与您显示的文件不兼容(反之亦然)。

或者,如果你不关心"垃圾"对于'ignore'参数,您只需'replace'errors字符。再次请参阅文档,了解可用选项。