我遍历文件如何忽略文件中的无效行?
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