Я использую функцию generate_token для tokenise определенного кода. Проблема в том, что я не могу добавить «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))
PS: Почему вы читаете файл в строку, а затем используете StringIO, чтобы снова превратить его в файловую вещь? –