2015-07-06 58 views
0

我必須讓我的python腳本讀取一個DNA查詢字符串文件並用它進行搜索。我必須使用哪種python編碼類型來讀取非utf-8字符?

好了,該文件包含此類型的角色:

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,但沒有正面結果。我怎麼讀這個?

+0

你有這樣一行:'# - * - 編碼:UTF-8 - * - '你的文件的頂部(!如果您有它的頂部和#'後在/ usr/bin中/ python') ? –

+0

有問題的字符不在代碼中,在我必須閱讀的文件中 – 648trindade

回答

1

您需要先弄清楚您要讀取的文本文件的實際編碼,然後使用open與該文件和正確的encoding參數來打開該文件。鑽石?只是控制檯中的佔位符字符,因此您的默認系統編碼與您所顯示的文件不兼容(反之亦然)。

或者,如果您不關心「垃圾」字符,則可以簡單地使用'ignore''replace'作爲errors參數。請再次查閱文件以查找可用選項。

相關問題