Как можно изменить цвет текста, выводимого в терминал, со временем, используя Python?

Как я могу изменить цвет текста в консоли, используя код на Python, например, такой: <br/> <code class="python">print('\u001b[1;31;40mText')</code>?
  • 30 ноября 2024 г. 16:23
Ответы на вопрос 2
Изменение цвета текста в терминале можно сделать с помощью специальных ANSI кодов. В вашем примере используется код `\u001b[1;31;40m`, который отвечает за изменение цвета текста и фона. 

Вот краткое объяснение, что означает каждая часть кода:
- `\u001b` — это Escape символ (ESC).
- `[1;31;40m` — это последовательность управляющих кодов:
  - `1` — делает текст жирным.
  - `31` — устанавливает красный цвет текста.
  - `40` — устанавливает черный цвет фона.

Чтобы изменить цвет текста с течением времени, вы можете использовать цикл и функцию `time.sleep()` для задержки между изменениями. Вот пример кода, который меняет цвет текста в терминале:

```python
import time
import os

# ANSI escape sequences for different colors
colors = [
    '\033[31m',  # красный
    '\033[32m',  # зеленый
    '\033[33m',  # желтый
    '\033[34m',  # синий
    '\033[35m',  # фиолетовый
    '\033[36m',  # Cyan
    '\033[37m',  # белый
]

# Сброс цвета
reset_color = '\033[0m'

try:
    while True:
        for color in colors:
            # Очистить экран для лучшей визуализации
            os.system('cls' if os.name == 'nt' else 'clear')
            print(f"{color}Text{reset_color}")  # Вывод текста с цветом
            time.sleep(1)  # Задержка в 1 секунду
except KeyboardInterrupt:
    print("\nЗавершение программы.")
```

В этом коде:
- Мы определяем список цветов.
- Используем бесконечный цикл, чтобы проходить по списку цветов.
- Работает, пока не будет получено прерывание (например, Ctrl+C).

Когда вы запускаете этот код, текст "Text" будет менять цвет каждые 1 секунду, а экран будет очищаться для лучшей визуализации.
Второе число (у вас 31) отвечает за цвет. <br/> <code>print('\u001b[0m')</code> сброс на настройки по умолчанию.
Похожие вопросы