Есть много решений для этого. Почти все, что отображает выделенный текст, будет работать, если вы можете получить к нему доступ с помощью программного обеспечения (HTML, TeX / LaTex, MS Word с использованием python-docx
, LibreOffice и т. Д. c). Вероятно, самый простой, самый универсальный и с наиболее универсальным результатом - HTML.
Вот фрагмент кода, который, например, случайным образом выделяет около 1: 5 слов с одним из четырех предустановленных значений. цвета. (Я предполагаю, что у ОП будет лучший план для выбора, какие слова и какие цвета использовать.)
Я написал это в блокноте Jupyter, потому что он позволял легко отображать вывод. Существует много способов отображения html (что является главным преимуществом html), но если вы не хотите использовать ноутбук Jupyter, пропустите строку импорта IPython
и строку display
.
import random
from IPython.core.display import display, HTML
data = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."""
def highlighter(word):
colors = ["#FF3333", "#DD9999", "#9999DD", '#3333FF']
i = random.randint(0, 18)
if i < len(colors):
color = colors[i]
word = '<span style="background-color:' +color+ '">' +word+ '</span>'
return word
text = ' '.join([highlighter(word) for word in data.split()])
display(HTML(text))