我使用generate_token函数来标记特定代码。问题是我无法将“print”和“input”添加为关键字。它将它们作为NAME而不是关键字返回。如何添加这些令牌?
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))
答案 0 :(得分:1)
tokenize
模块没有提及关键字的任何内容。所有关键字都以NAME的形式返回,然后您必须通过使用keyword
模块来确定哪些是关键字。不过,如果你愿意,可以使用其他方法。