Page 255 - 6734
P. 255
code = text.get("1.0", "end-1c") # отримати текст із
текстового віджету
text.delete("1.0", "end") # видалити весь текст із
текстового віджету
# перший спосіб:
from pygments import highlight # повертає
відформатований текст
for line in highlight(code, PythonLexer(),
RawTokenFormatter()).split("\n"): # для кожного рядка
тексту, відформатованого за допомогою PythonLexer()
та RawTokenFormatter()
pair=line.split("\t") # розділити рядок символом
табуляції
if pair!=['']: # якщо пара не пуста
(token, s) = pair
print token, eval(s) # вивести на консоль
text.insert("end", eval(s), token) # вставити
текст із тегом у віджет
# другий спосіб:
#from pygments import lex # лексичний аналізатор,
повертає ітератор токенів
#for token, content in lex(code, PythonLexer()):
# print token, content
# text.insert("end", content, str(token))
root.mainloop() # головний цикл програми
Рисунок 60 – Вікно програми
254