0Pricing
Python Academy · Урок

Расширенный вывод в терминале

Стилизуйте вывод CLI с помощью rich

«Расширенный вывод в терминале» — бесплатный урок Python Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.

Что такое rich?

rich — сторонняя библиотека для красивого вывода в терминале: цветов, стилей, таблиц, индикаторов выполнения и многого другого. Установите её с помощью pip install rich.

from rich import print

print('Hello, [bold magenta]world[/bold magenta]!')

Объект Console

Центральным классом является Console. Его метод print понимает разметку стилей, а также обрабатывает переносы строк и определение цвета.

from rich.console import Console

console = Console()
console.print('Styled output here')

Разметка стилей

rich использует разметку в квадратных скобках, например [bold], [red], [italic], чтобы оформлять фрагменты текста прямо в строке; разметка закрывается соответствующим тегом.

from rich.console import Console

console = Console()
console.print('[bold red]Error:[/bold red] something failed')
console.print('[green]Success[/green]')

Параметр стиля

Вместо разметки можно передать параметр style, который применится ко всей строке.

from rich.console import Console

console = Console()
console.print('Important notice', style='bold yellow on blue')

Таблицы

Класс Table создаёт аккуратные таблицы с рамками. Добавьте столбцы, затем строки и выведите таблицу.

from rich.console import Console
from rich.table import Table

table = Table(title='Users')
table.add_column('Name')
table.add_column('Age')
table.add_row('Ana', '30')
table.add_row('Bob', '25')
Console().print(table)

Панели

Panel рисует рамку вокруг содержимого; это удобно для выделения сообщений или группировки вывода.

from rich.console import Console
from rich.panel import Panel

Console().print(Panel('All systems go', title='Status'))

Индикаторы выполнения

rich умеет отображать индикаторы выполнения в реальном времени. track() оборачивает любой итерируемый объект и отображает ход обработки его элементов.

from rich.progress import track
import time

for _ in track(range(5), description='Working'):
    time.sleep(0.1)

Красивый вывод данных

console.print выводит словари и списки с подсветкой синтаксиса и отступами, что гораздо понятнее обычного print.

from rich.console import Console

data = {'name': 'Ana', 'roles': ['admin', 'user'], 'active': True}
Console().print(data)

Журналирование и трассировки

rich предлагает более удобные трассировки с помощью rich.traceback.install() и обработчик журналирования, благодаря чему сообщения об ошибках становится гораздо легче читать.

from rich.traceback import install

install()
# Now uncaught exceptions print with rich, colorized formatting

Разделители и компоновка

console.rule() рисует горизонтальный разделитель с необязательным заголовком; это удобно для разделения длинного вывода на разделы.

from rich.console import Console

console = Console()
console.rule('[bold]Report[/bold]')
console.print('section content')

Объединение rich с Click

rich отлично сочетается с Click: Click организует команды, а rich стилизует вывод, создавая отполированные профессиональные CLI.

import click
from rich.console import Console

console = Console()

@click.command()
@click.argument('name')
def hello(name):
    console.print('Hello [bold]' + name + '[/bold]!')

Быстрая проверка

Проверьте своё понимание rich.

Итоги

Вы изучили вывод в терминале с помощью rich:

  • Console выводит данные с разметкой стилей в квадратных скобках и параметром style.
  • Table, Panel и rule структурируют вывод; track показывает ход выполнения.
  • rich красиво выводит данные и улучшает вид трассировок.
  • Это внешняя библиотека, которая хорошо сочетается с Click.

Вы завершили курс по инструментам CLI!

Часто задаваемые вопросы

Урок «Расширенный вывод в терминале» бесплатный?

Да — полный текст урока «Расширенный вывод в терминале» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.

Чему я научусь в уроке «Расширенный вывод в терминале»?

Стилизуйте вывод CLI с помощью rich Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Расширенный вывод в терминале»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы argparse
  2. Подкоманды и параметры
  3. Библиотека Click
  4. Расширенный вывод в терминале
← Назад к Python Academy