Чтобы иметь возможность печатать в цвете с терминала в Python, я понимаю, что мы можем сделать что-то вроде
text = '\x1b[94mtext to color\x1b[0m'
так что при вызове функции
print(text)
распечатать текст в цвете
Теперь я сделал словарь, чтобы просто выбирать ключ и давать мне случайный цвет, потому что Я хочу изменить цвет текста в списке, проблема в том, что он не меняет цвет, а объединяет меня так же, как и текст, скажем, вместо того, чтобы печатать «текст» в цвете, он печатает строку как есть:
'\x1b[94mcolor text\x1b[0m'
Я думаю, это связано с функцией print(), которая каким-то образом уже интерпретирует escape-код "\x", как я могу заставить ее печатать его в цвете, а не в цвете? текст как есть? Спасибо!
Код на что угодно прикрепляю
#colors pa distinguir un poco
colors = {
0 : '\033[0m', #color normal
1 : '\033[93m', #amarillo
2 : '\033[94m', #azul
3 : '\033[95m',#morado
4 : '\033[91m',#rojo
5 : '\033[92m'}#verde
#para elegir uno al azahar
def color_azahar():
"""Elige un color al azahar de un diccionario de colors"""
indice = random.randint(0, len(colors)-1)
return colors[indice]
def pretty_print(arreglo):
"""Dado un arreglo de nxn imprime cada renglón para que se vea legible"""
for i in range(len(arreglo)):
print(arreglo)
def change(cuadri, n):
if n == 1:
return cuadri
if n == 2: # [[a, ]
#caso donde , ],
if cuadri[0][0] == 'a':
#sacamos el color
ado = color_azahar()+'a'+colors[0]
#coloreamos los demás
cuadri[0][1] = str(ado)
cuadri[1][0] = ado
cuadri[1][1] = ado
return cuadri
prueba = [['a', ' '],['','']]
pretty_print(change(prueba, 2)) # doesn't print color, it prints literally the text
text = color_azahar()+'a'+colors[0]
print(text) ```
Подробнее здесь: https://stackoverflow.com/questions/715 ... -in-python
Цветной текст в Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Можно ли извлечь текст внутри цветной фоновой области, используя OpenCV в Python?
Anonymous » » в форуме Python - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-