1

请在下面找到我用来标记字符串的代码。

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
4

1 回答 1

3

请注意,您的错误消息显示tokenize.TokenError. 那就是Exception您的代码类型正在提高。要捕获错误,请使用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
于 2010-08-03T18:07:05.147 回答