Python 如何处理标记化错误?
请在下面找到我用来标记字符串的代码Python 如何处理标记化错误?,python,tokenize,stringio,Python,Tokenize,Stringio,请在下面找到我用来标记字符串的代码 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
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))
我希望忽略这些错误,并能够完成标记化过程。我有很多数据,所以我可以将一部分数据丢失到这些错误中。但是,我不知道如何编写代码,使be能够实现所需的功能。谁能帮我弄一下密码吗
多谢各位
编辑1:-
试着
except tokenize.TokenError:
pass
我收到以下错误消息
except tokenize.TokenError:
NameError: name 'tokenize' is not defined
请注意,错误消息显示
tokenize.TokenError
。这就是您的代码引发的异常类型。要捕获错误,请使用try…except
块。要跳过错误,只需将pass
放在except
块中
import tokenize
try:
strList = list(token[STRING] for token in tokenize.generate_tokens(StringIO(line).readline) if token[STRING])
except tokenize.TokenError:
pass
对不起,它起作用了。我没有导入tokenize模块。谢谢你的帮助。啊,对了。我没有注意到您使用的是generate_tokens
而不是tokenize.generate_tokens
。我尽量避免使用裸名,因为: