如何在分词器中添加关键词?
我正在使用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
模块来判断。不过,如果你愿意,也可以用其他方法。