Красота в консоли
Думаете, что вывод текста через print()
— это скучно, серо и некрасиво? Значит, вы просто не знакомы с библиотекой rich.
Что умеет rich?
Rich умеет делать красиво.
- разные стили и цвета для текста;
- поддержка Markdown;
- анимированные прогресс-бары;
- таблицы;
- эмодзи;
- вывод логов и стека вызовов в красивом виде.
Всё это упаковано в 1 библиотеку, которая сделает работу с консолью куда более комфортной.
Как установить rich
- Откройте терминал (командную строку);
- Если умеете пользоваться виртуальным окружением, то создайте и активируйте его. Если нет, то пропустите этот шаг;
- Выполните команду
pip install rich
.
Как использовать rich
Готовый пример кода:
from time import sleep
# Переопределяем встроенную функцию `print()`
from rich import print
from rich.console import Console
from rich.progress import Progress
with Progress() as progress:
task1 = progress.add_task("[red]Загрузка...", total=1000)
task2 = progress.add_task("[green]Обработка...", total=1000)
task3 = progress.add_task("[cyan]Удаление мусора...", total=1000)
while not progress.finished:
progress.update(task1, advance=0.7)
progress.update(task2, advance=0.55)
progress.update(task3, advance=0.9)
sleep(0.01)
print('[bold]Все задачи выполнены![/] :thumbs_up:\n')
console = Console()
tasks = [
'Подготовка среды', 'Установка зависимостей', 'Инициализация',
'Открытие базы', 'Загрузка данных'
]
with console.status("[bold green]Делаем важные дела...") as status:
while tasks:
task = tasks.pop(0)
sleep(1)
console.log(f"{task} complete")
Видео: https://calmcode.io/rich/introduction.html
Полная документация: https://github.com/Textualize/rich