如何在分词器中添加关键词?

1 投票
1 回答
549 浏览
提问于 2025-04-17 16:13

我正在使用generate_token函数来对某段代码进行分词处理。问题是我无法将“print”和“input”这两个词添加为关键字。它们被识别为名称,而不是关键字。我该如何添加这些词作为标记呢?

import token
import tokenize

try:
    from cStringIO import StringIO
except:
    from io import StringIO
file = open(filename)
characters = file.read()
file.close()
code_reader = StringIO(characters).readline

for num, (ttyp, ttok, _, _, _) in enumerate(tokenize.generate_tokens(code_reader)):
    print("%5d %15s %r" % (num, token.tok_name[ttyp], ttok))

1 个回答

1

这个 tokenize 模块并没有提到关键字的事情。所有的关键字都会被当作名称(NAME)返回,然后你需要自己判断哪些是关键字,通常是通过使用 keyword 模块来判断。不过,如果你愿意,也可以用其他方法。

撰写回答