Цветной вывод текста в 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 - отвечает за сброс к начальным значениям.
Вобщем вот целая таблица с кодами цвета, фона и стилей.
Цвет | Текст | Фон |
Чёрный | 30 | 40 |
Красный | 31 | 41 |
Зелёный | 32 | 42 |
Жёлтый | 33 | 43 |
Синий | 34 | 44 |
Фиолетовый | 35 | 45 |
Бирюзовый | 36 | 46 |
Белый | 37 | 47 |
Код | Стили текста | |
0 | Сброс к начальным значениям | |
1 | Жирный | |
2 | Блёклый | |
3 | Курсив | |
4 | Подчёркнутый | |
5 | Редкое мигание | |
6 | Частое мигание | |
7 | Смена цвета фона с цветом текста |
Цветной вывод текста в 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 можно создавать ваши любимые тексты, кстати можно с этой темой можно создавать мини викторины или что то другое. Я надеюсь на то что вам понравилось эта статья и надеюсь в будущем я продолжу писать все больше и больше статей на разные темы. Спасибо за внимание!