我遍歷文件如何忽略文件中的無效行?
for line in io.TextIOWrapper(readFile, encoding = 'utf8'):
當文件包含生成以下異常
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xea in position 3: invalid continuation byte
我怎樣才能讓我的腳本忽略以下行
b'"""\xea\x11"\t1664\t507\t137\t2\n'
這樣的路線,並繼續與好的?
作爲一個提示,爲什麼你首先使用'io.TextIOWrapper(readFile,...)'而不是僅僅在文本模式下使用'open' /'io.open'文件?偶爾有很好的理由這樣做,但我見過人們沒有理由...... – abarnert
@abarnert原因在這裏解釋http://stackoverflow.com/questions/20601796/how-to-open-an- unicode-text-file-inside-a-zip/20603185?noredirect = 1#20603185 –
好,很酷。同時...你爲什麼要跳過這樣的線路?看起來在一個任意文件中嵌入了垃圾,垃圾被線很好地分離出來的機會很渺茫,所以有一半時間你會跳過一些非終止垃圾,加上真正的一行文本。另外,很多東西都是有效的UTF-8,但完全廢話。如果你知道實際的格式是什麼,那麼正確解析它比使用這種啓發式更好。 – abarnert