Python Glossary English

все Python 3astпонятие

tokenize

модуль

Лексический сканер исходного кода Python: делит текст программы на токены, включая комментарии.

Синтаксис

import tokenize

tokenize нужен, когда важен сам текст кода: подсветка, подсчёт комментариев, автоматическая правка без потери форматирования. Если нужна структура программы, а не поток токенов, берите ast — он строит дерево, но теряет комментарии. tokenize.tokenize() читает байты и сам определяет кодировку, а generate_tokens() принимает строки; путаница между ними — частая ошибка.

Примеры

import io
import tokenize
src = "x = 1 + 2  # sum\n"
for tok in tokenize.generate_tokens(io.StringIO(src).readline):
    if tok.string.strip():
        print(tokenize.tok_name[tok.type], tok.string)  # → NAME x / OP = / NUMBER 1 / OP + / NUMBER 2 / COMMENT # sum

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности