Как изменить цвет текста в Python

Как изменить цвет текста в Python

Как изменить цвет текста в Python

Выводить текст на консоли в разных цветах довольно удобно и практично, от создания причудливых сценариев сканирования до выделения различных типов сообщений журнала (отладочные, информационные, критические и т. Д.) в ваших программах. В данной статье вы узнаете, как печатать цветной текст на Python с помощью библиотеки colorama.

Для работы нам требуется установить библиотеку:


>>>pip install colorama 

Мы можем установить нужную библиотеку как глобально, так и в изолированную папку — виртуальную среду. Для простоты мы используем первый вариант, хотя рекомендуется использовать второй.

Далее создадим простой Python файл:


from colorama import init, Fore, Back, Style

'''
мы вызываем функцию init(), которая необходима в среде Windows для правильной работы colorama, на других платформах она ничего не делает, поэтому вы можете удалить ее.
'''

init()

'''

Далее определяем все доступные цвета переднего плана в списке "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"{brightness}{color}{s}{Style.RESET_ALL}", **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)

# вызовем скрипт

>>>python multicolore.py

Результат:

Как изменить цвет текста в Python

При этом черный цвет не будет виден на экране.

Теперь используем фоновые цвета:


for fore in FOREGROUND:
    for back in BACKGROUND:
        for brightness in BRIGHTNESS:
            print_with_color("Myrusakov", color=back+fore, brightness=brightness, end=' ')
    print()

Результат:

Как изменить цвет текста в Python

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

Источник