October 27, 2024

Цветной вывод в консоль

Python Map | Обучение

Для вывода цветного текста в консоли на языке Python можно воспользоваться управляющими последовательностями ANSI. Эти последовательности начинаются с символа \033 и позволяют менять цвет текста и фона, а также задавать различные стили, такие как жирный или подчеркнутый.

Разбор кода

1. Управляющие последовательности: Каждая последовательность начинается с \033[ и заканчивается m.
- 0 — сбрасывает стиль.
- 1 — делает текст жирным.
- 4 — добавляет подчеркивание.
- Цвет текста задается числами от 30 до 37, а цвета фона — от 40 до 47.

2. Форматирование текста: С помощью f-строк можно включать управляющие последовательности непосредственно в текст, который будет напечатан.

3. Сброс: После каждого цветного текста следует использовать RESET, чтобы сбросить стиль, иначе все последующие сообщения будут отображаться с заданным стилем.

Как использовать?

Код ниже выведет текст в разных цветах в консоли, если ваша среда поддерживает ANSI-коды. Для запуска кода вы можете использовать терминал.

Python IDLE не поддерживает управляющие последовательности ANSI.

Весь код
# Стили
RESET = "\033[0m" # Сброс стиля
BOLD = "\033[1m"  # Жирный текст
UNDERSCORE = "\033[4m" # Подчеркнутый текст

# Цвета текста
BLACK = "\033[30m"
RED = "\033[31m"
GREEN = "\033[32m"
YELLOW = "\033[33m"
BLUE = "\033[34m"
MAGENTA = "\033[35m"
CYAN = "\033[36m"
WHITE = "\033[37m"

# Цвета фона
BG_BLACK = "\033[40m"
BG_RED = "\033[41m"
BG_GREEN = "\033[42m"
BG_YELLOW = "\033[43m"
BG_BLUE = "\033[44m"
BG_MAGENTA = "\033[45m"
BG_CYAN = "\033[46m"
BG_WHITE = "\033[47m"

# Пример использования
print(f"{BOLD}{GREEN}Это зеленый жирный текст!{RESET}")
print(f"{RED}Это красный текст с обычным стилем.{RESET}")
print(f"{BLUE}{UNDERSCORE}Это подчеркнутый синий текст.{RESET}")
print(f"{YELLOW}{BG_CYAN}Это текст с желтым цветом и циановым фоном.{RESET}")

# Пауза
input()

Заключение

Используя управляющие последовательности ANSI, вы можете легко добавлять цвет и стиль в текст, выводимый в консоль. Это может улучшить читаемость и визуальное восприятие сообщений в ваших приложениях.