Как поменять цвет в python
Ряд виджетов в Tkinter поддерживают установку цвета для различных аспектов. Например, у виджета Label можно установить параметры foreground и background , которые отвечают за цвет текста и фона соответственно. У некоторых виджетов настройки цвета спрятаны в параметре style.
Цвет можно установить разными способами:
-
Именнованные цвета, например, «red», который соответствует красному цвету. В зависимости от платформы набор доступных именнованных цветов может отличаться. Все доступные именнованные цвета можно посмотреть в документации. Например:
ttk.Label(text="Hello World", foreground="red")
from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") label = ttk.Label(text="Hello World", padding=8, foreground="#01579B", background="#B3E5FC") label.pack(anchor=CENTER, expand=1) root.mainloop()
Если нам даны отдельные коды RGB-составляющих, то их можно сконвертировать в шестнадцатеричный код цвета:
from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") def get_rgb(rgb): return "#%02x%02x%02x" % rgb label = ttk.Label(text="Hello World", padding=8, foreground=get_rgb((0, 77, 64)), background=get_rgb((128, 203, 196))) label.pack(anchor=CENTER, expand=1) root.mainloop()
Здесь функция get_rgb в качестве параметра получает кортеж из трех составляющих цвет RGB и с помощью форматирования строки переводит значения кортежа в шестнадцатеричный код
Как изменить цвет текста в Python

Выводить текст на консоли в разных цветах довольно удобно и практично, от создания причудливых сценариев сканирования до выделения различных типов сообщений журнала (отладочные, информационные, критические и т. Д.) в ваших программах. В данной статье вы узнаете, как печатать цветной текст на Python с помощью библиотеки colorama.
Для работы нам требуется установить библиотеку:
>>>pip install colorama
Мы можем установить нужную библиотеку как глобально, так и в изолированную папку — виртуальную среду. Для простоты мы используем первый вариант, хотя рекомендуется использовать второй.
Далее создадим простой Python файл:
from colorama import init, Fore, Back, Style
»’
мы вызываем функцию init(), которая необходима в среде Windows для правильной работы colorama, на других платформах она ничего не делает, поэтому вы можете удалить ее.
»’
Далее определяем все доступные цвета переднего плана в списке «FOREGROUND» и цвета фона в списке «BACKGROUND», мы также определяем список BRIGHTNESS для различных настроек яркости.
# список доступных фронтальных цветов
FOREGROUND = [ Fore.BLACK, Fore.RED, Fore.GREEN, Fore.YELLOW, Fore.BLUE, Fore.MAGENTA, Fore.CYAN, Fore.WHITE ]
# список доступных фоновых цветов
BACKGROUND = [ Back.BLACK, Back.RED, Back.GREEN, Back.YELLOW, Back.BLUE, Back.MAGENTA, Back.CYAN, Back.WHITE ]
BRIGHTNESS = [ Style.DIM, Style.NORMAL, Style.BRIGHT ]
»’
Далее давайте создадим функцию, которая обертывает обычную функцию print() Python, но с возможностью установки цвета и яркости
»’
def print_with_color(s, color=Fore.WHITE, brightness=Style.NORMAL, **kwargs):
«»»Служебная функция, обертывающая обычную функцию «печать()»
, но с цветами и яркостью»»»
print(f»», **kwargs)
Мы просто используем print() внутри, но дополняем текст яркостью и цветовыми кодами, а также добавляем Style.RESET_ALL в конце, чтобы сбросить цвет и яркость по умолчанию каждый раз, когда мы используем функцию.
Мы также передаем **kwargs, чтобы мы могли использовать другие ключевые аргументы функции print(), такие как end и sep.
Теперь, когда у нас есть наша функция, давайте использовать все цвета переднего плана и напечатаем один и тот же текст разными цветами и каждый с разной яркостью:
for fore in FOREGROUND:
for brightness in BRIGHTNESS:
print_with_color(«Myrusakov!», color=fore, brightness=brightness)

При этом черный цвет не будет виден на экране.
Теперь используем фоновые цвета:
for fore in FOREGROUND:
for back in BACKGROUND:
for brightness in BRIGHTNESS:
print_with_color(«Myrusakov», color=back+fore, brightness=brightness, end=’ ‘)
print()

Теперь вы знаете все доступные цвета переднего плана и фона, а также значения яркости в библиотеке colorama на Python.

![]()
Создано 28.12.2021 13:58:02
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.
Как поменять цвет текста при выводе в консоль?
Если без пакета, то будет зависеть от конкретной ОС, так как терминалы разные.
Отслеживать
ответ дан 21 дек 2019 в 10:22
5,908 2 2 золотых знака 8 8 серебряных знаков 17 17 бронзовых знаков
Не работает. (
21 дек 2019 в 11:10
@merkar так установите библиотеку. pip install termcolor
21 дек 2019 в 12:08
import colorama colorama.init() start = "\033[1;31m" end = "\033[0;0m" print("Hello " + start + "world!" + end)
Отслеживать
ответ дан 22 дек 2019 в 14:26
USERNAME GOES HERE USERNAME GOES HERE
10.4k 21 21 золотой знак 25 25 серебряных знаков 53 53 бронзовых знака
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Цветной вывод текста в Python
Всем привет сегодня я хотел рассказать вам «Как сделать цветной вывод текста в Python?» это даже может сделать не опытный человек не имея каких-то знаний. Поэтому если вам интересно то продолжайте читать и тогда все поймете.
C помощью встроенных средств языка
На Python с помощью ANSI-код можно делать цвет, фон и т.д. Это очень мощный и удобный инструмент, с его помощью программист может напрямую определять цвет текста. ANSI коды работают на большинстве дистрибутивов Linux, но не поддерживаются консолью операционной системы Windows до Windows 10.
Изменять цвет текста с помощью ANSI кодов можно разными способами, например, использоваться функции или даже написать свой класс-обёртку для ANSI.
Использовать ANSI коды просто, для этого нужно знать базовый синтаксис и сами коды. Разбор на примере кода «\033[31m\033[43m»:
- «033[» — обозначение того, что дальше идет какой-то управляющий цветом код.
- 37m — это код цвета а именно красный.
- 43m — это код цвет фона для текста.
Именно через этот ANSI-код мы можем делать текст разноцветным, не забывайте ставить «» иначе будет ошибка.
Давайте сделаем вывод текста на консоле через функции.
def out_red(text): print("\033[34m<>".format(text)) out_red("ПРИВЕТ")
Через print() мы задали цвет текста «ПРИВЕТ» синим цветом. Также можно добавить фон и стиль текста все в одну строку.
print("\033[3m\033[33m\033[41m<>\033[0m".format("Htua_0111100000"))
- \033[3m — отвечает за стилб текста в данном случае это курсив.
- \033[33m — отвечает за цвет текста.
- \033[41m — отвечает за цвет фона.
- <> — заменит на «Htua_0111100000»
- \033[0m — отвечает за сброс к начальным значениям.
Вобщем вот целая таблица с кодами цвета, фона и стилей.
Сброс к начальным значениям
Смена цвета фона с цветом текста
Цветной вывод текста в Python через библиотеку Colorama
Этой библиотекой тоже можно сделать цветной текст. Достаточно просто знать код и все. Для того чтобы начать работать нужно просто установить библиотеку pip install colorama потом можно начать работать с этой библиотекой. Создайте файл colorama.py и можно приступать к написанию кода.
from colorama import init, Fore from colorama import Back from colorama import Style init(autoreset=True) print(Fore.BLUE + 'some red text') print(Back.WHITE + 'and with a green background') print(Style.BRIGHT + 'and in dim text') print(Style.RESET_ALL) print('back to normal now')

- Cначала импортируем init, Back, Style то есть все необходимые нам функции для вывода текста на консоль.
- Стоит обратить внимание на функцию init . Если её забыть запустить, то не будет поддерживаться вывод на Windows 10.
- print(Fore.BLUE + ‘some red text’) — это задает цвет текста также вы можете поменять на красный (RED) или зеленный (GREEN) и т.д.
- print(Back.WHITE + ‘and with a green background’) — это задает фон текста
- print(Style.BRIGHT + ‘and in dim text’) — стиль текста
- print(Style.RESET_ALL) — сброс всех стилей
- print(‘back to normal now’) — обычный текст
Цветной текст через библиотеку termcolor
Это тоже вторая библиотека отвечающее за цвет фон и так далее. pip install termcolor
from termcolor import colored, cprint print(colored('Привет мир!', 'red', attrs=['underline'])) print('Привет, я люблю тебя!') cprint('Вывод с помощью cprint', 'green', 'on_blue')
Импортируем colored и cprint, и пишем print(colored(‘Привет мир!’, ‘red’, attrs=[‘underline’])) тут вобще намного легче чем предыдущая attrs = [‘underline’] задает стиль текста. Следущее сpint(‘Вывод с помощью cprint’, ‘green’, ‘on_blue’) — это функция отвечает за цвет текста и фон. сpint(‘Ваш любимый текст’, ‘цвет текста’, ‘фон текста’)

Вывод
В общем, благодаря ANSI-кодом, библиотека colorama и termcolor можно создавать ваши любимые тексты, кстати можно с этой темой можно создавать мини викторины или что то другое. Я надеюсь на то что вам понравилось эта статья и надеюсь в будущем я продолжу писать все больше и больше статей на разные темы. Спасибо за внимание!
