Pythoner
Фотография
✈️ Модуль rich в Python предоставляет мощные возможности для улучшения визуального оформления терминальных приложений. С помощью rich можно создавать цветные тексты, таблицы, деревья, прогресс-бары и даже подсвечивать код.
➡️ Вот несколько практических примеров применения rich:
1. Цветной текст и стили
from rich import print
# Выводим текст с цветами и стилями
print("[bold red]Ошибка:[/] Неверный ввод!")
print("[green]Успех:[/] Данные сохранены.")
print("Это [italic cyan]пример[/italic cyan] текста с [underline magenta]разными[/underline magenta] стилями.")
⬆️ Этот пример показывает, как легко добавлять стили и цвета в текст. Используются такие стили, как жирный, курсив и подчёркнутый.
2. Форматирование JSON
from rich.console import Console
from rich.json import JSON
console = Console()
# Пример JSON-данных
data = '{"name": "Python3", "type": "Programming Language", "year": 2008}'
# Форматированный вывод JSON
console.print(JSON(data))
⬆️ Удобно для визуализации JSON-данных с автоматической подсветкой синтаксиса.
3. Создание таблиц
from rich.table import Table
from rich.console import Console
console = Console()
table = Table(title="Сравнение языков программирования")
table.add_column("Язык", style="bold", justify="left")
table.add_column("Скорость", justify="right")
table.add_column("Простота", justify="right")
table.add_row("Python", "Средняя", "Высокая")
table.add_row("Rust", "Высокая", "Средняя")
table.add_row("C++", "Высокая", "Низкая")
console.print(table)
⬆️ Таблицы помогают организовать данные, делая их читабельными и визуально привлекательными.
4. Прогресс-бар
from time import sleep
from rich.progress import Progress
with Progress() as progress:
task = progress.add_task("[cyan]Обработка данных...", total=100)
for i in range(100):
sleep(0.05)
progress.update(task, advance=1)
⬆️ Прогресс-бары полезны для отображения выполнения долгих операций.
5. Дерево файлов
from rich.tree import Tree
from rich.console import Console
console = Console()
tree = Tree("Проект")
src = tree.add("src")
src.add("main.py")
src.add("utils.py")
tree.add("README.md")
tree.add("requirements.txt")
console.print(tree)
⬆️ Этот пример создаёт визуализацию структуры проекта в виде дерева.
6. Подсветка синтаксиса
from rich.console import Console
from rich.syntax import Syntax
console = Console()
code = '''
def greet(name: str) -> str:
return f"Hello, {name}!"
'''
# Подсвечиваем код
syntax = Syntax(code, "python", theme="monokai", line_numbers=True)
console.print(syntax)
⬆️ Подсветка синтаксиса помогает отображать исходный код красиво и читаемо.
7. Журналирование
from rich.logging import RichHandler
import logging
logging.basicConfig(
level=logging.INFO,
format="%(message)s",
handlers=[RichHandler()]
)
log = logging.getLogger("rich")
log.info("Это [bold green]информация[/bold green].")
log.warning("Это [bold yellow]предупреждение[/bold yellow].")
log.error("Это [bold red]ошибка[/bold red].")
⬆️ Логирование с rich выглядит намного приятнее, чем стандартный вывод.
🐍 Pythoner
54 · 2K ·