如何处理分词错误?
下面是我用来将字符串分词的代码。
strList = list(token[STRING] for token in generate_tokens(StringIO(line).readline) if token[STRING])
我遇到了一个错误,错误信息是:
raise TokenError, ("EOF in multi-line statement", (lnum, 0))
tokenize.TokenError: ('EOF in multi-line statement', (2, 0))
我希望能够忽略这些错误,完成分词的过程。我有很多数据,所以我可以接受因为这些错误而丢失一部分数据。不过,我不太确定该怎么写代码来实现这个功能。有没有人能帮我写一下代码呢?
谢谢。
编辑1:
在尝试这个
except tokenize.TokenError:
pass
时,我收到了以下错误信息:
except tokenize.TokenError:
NameError: name 'tokenize' is not defined
1 个回答
3
注意到你的错误信息中提到 tokenize.TokenError
。这就是你的代码抛出的错误类型。要处理这个错误,你可以使用 try...except
结构。如果你想跳过这个错误,只需在 except
块中写上 pass
。
import tokenize
try:
strList = list(token[STRING] for token in tokenize.generate_tokens(StringIO(line).readline) if token[STRING])
except tokenize.TokenError:
pass