В этой статье мы узнаем о мощной библиотеке для Python под названием Rich.
Rich — это библиотека Python для записи форматированного текста (с цветом и стилем) на терминал. Она позволяет отображать расширенный контент, такой как таблицы, markdown и код с подсветкой синтаксиса.
Итак, почему это полезно? Если вы не используете такой инструмент, как Rich, вывод вашего кода на терминал может быть немного скучным и трудным для понимания. Если вы хотите сделать его понятнее и красивее, вы, вероятно, захотите использовать Rich — и вы попали в нужное место, чтобы узнать, как это сделать.
Как установить Rich
Вы можете установить Rich с помощью pip:
pip install Rich
Чтобы узнать, на что способен Rich, вы можете набрать в терминале следующую команду:
python -m rich
Теперь вы можете видеть, что мы можем делать довольно много вещей с Rich. Давайте попробуем несколько из них, чтобы увидеть, как они работают.
БЕСПАЛЕВНЫЙ REACH НА МАЙНКРАФТ! РИЧ БЕЗ БАНА! ХАЙПИКСЕЛЬ НЕ БАНИТ ЗА ЭТОТ РИЧ!
Как вывести Rich на Python
Rich имеет возможность выделять выходные данные в соответствии с типом данных. Мы импортируем альтернативную функцию print из библиотеки Rich, которая принимает те же аргументы, что и встроенная функция print .
Чтобы не путаться со встроенной функцией print , мы будем импортировать print из библиотеки rich как rprint .
from rich import print as rprint nums_list = [1, 2, 3, 4] rprint(nums_list) nums_tuple = (1, 2, 3, 4) rprint(nums_tuple) nums_dict = rprint(nums_dict) bool_list = [True, False] rprint(bool_list)
Видите, как разные типы данных выделяются разными цветами? Это может нам сильно помочь при отладке.
Как выполнить расширенную проверку в Python
Если вы используете встроенную функцию help для просмотра документации библиотеки, вы увидите скучный вывод.
import rich print(help(rich))
У Rich есть функция inspect() , которая может генерировать отчет о любом объекте Python. Это фантастическое средство отладки и хороший пример вывода, который может создать Rich.
from rich import inspect import rich inspect(rich)
Как оформить вашу консоль с помощью Rich
Для полного контроля над форматированием терминала Rich предлагает класс Console .
Давайте напишем функцию для объединения словарей Python.
from rich.console import Console console = Console() def merge_dict(dict_one, dict_two): merged_dict = dict_one | dict_two console.log(merged_dict, log_locals=True) merge_dict(, )
В приведенном выше примере мы использовали метод log , который предлагает те же возможности, что и печать, но добавляет некоторые функции, полезные для отладки работающего приложения.
НОВЫЙ ЛУЧШИЙ БЕСПЛАТНЫЙ ЧИТ НА SUNRISE/MST NETWORK/WELLMORE RICH CLIENT minecraft cheat
Есть несколько других методов, таких как print , print_json , out , rule , и так далее. Узнайте больше о них здесь.
Как использовать Tree в Rich
У Rich есть класс Tree , который может генерировать древовидное представление в терминале. Древовидное представление — отличный способ представления содержимого файловой системы или любых других иерархических данных. Каждая ветвь дерева может иметь метку, которая может быть текстовой или любой другой визуализируемой Rich.
Давайте посмотрим на пример, создав генеалогическое древо:
from rich.tree import Tree from rich import print as rprint tree = Tree(«Family Tree») tree.add(«Mom») tree.add(«Dad») tree.add(«Brother»).add(«Wife») tree.add(«[red]Sister»).add(«[green]Husband»).add(«[blue]Son») rprint(tree)
Создав экземпляр класса Tree , мы можем использовать этот метод add() для добавления к нему ветвей. Чтобы создать сложное дерево, вы просто используете метод add() для добавления к нему дополнительных ветвей. Обратите внимание на ветвь « Brother and Sister » в приведенном выше примере.
В официальной документации у нас есть файл tree.py, который выводит файловую структуру с помощью Tree. Вывод выглядит следующим образом:
Как отобразить индикатор выполнения с помощью Rich
Rich может отображать постоянно обновляемую информацию о состоянии длительно выполняемых задач, копиях файлов и т. д. Вы также можете настроить эту информацию. По умолчанию он предоставляет описание «задачи», индикатор выполнения, процент выполнения и ожидаемое оставшееся время.
Поддерживается несколько задач с богатым отображением хода выполнения, каждое из которых имеет полосу и статистику выполнения. Вы можете использовать это, чтобы отслеживать несколько заданий, которые выполняются в потоках или процессах.
Давайте сначала попробуем метод создания индикатора выполнения progress.track .
from rich.progress import track from time import sleep def process_data(): sleep(0.02) for _ in track(range(100), description='[green]Processing data’): process_data()
Если мы хотим записать время завершения выполнения конкретной задачи, мы можем использовать вместо этого console.status .
from rich.console import Console from time import sleep console = Console() data = [1, 2, 3, 4, 5] with console.status(«[bold green]Fetching data. «) as status: while data: num = data.pop(0) sleep(1) console.log(f»[green]Finish fetching data[/green] «) console.log(f'[bold][red]Done!’)
Вы можете работать напрямую с классом Progress, если вам нужно несколько задач на дисплее или вы хотите настроить столбцы на дисплее прогресса. После создания объекта Progress используйте ( add_task() ) для добавления задач и ( update_progress() ) для обновления хода выполнения.
Класс Progress предназначен для использования в качестве менеджера контекста, автоматически запускающего и останавливающего отображение прогресса.
import time from rich.progress import Progress with Progress() as progress: task1 = progress.add_task(«[red]Downloading. «, total=100) task2 = progress.add_task(«[green]Processing. «, total=100) task3 = progress.add_task(«[cyan]Installing. «, total=100) while not progress.finished: progress.update(task1, advance=0.9) progress.update(task2, advance=0.6) progress.update(task3, advance=0.3) time.sleep(0.02)
Как отобразить столбцы в Python с помощью Rich
Rich может отображать текст или другие визуализируемые объекты Rich в аккуратных столбцах с помощью класса Columns . Для использования, создайте экземпляр Columns с итерацией объектов рендеринга и выведите его в консоли.
Как отображать таблицы в Python с помощью Rich
Класс Table предлагает множество способов вывода табличных данных на терминал. Этот класс имеет методы add_column() и add_row() для добавления столбца и строки соответственно в экземпляр таблицы, созданный из класса Table .
Давайте создадим таблицу для нашего списка дел. В этой таблице будет три столбца – S.No., Задача и Статус.
from rich.console import Console from rich.table import Table table = Table(title=»Todo List») table.add_column(«S. No.», style=»cyan», no_wrap=True) table.add_column(«Task», style=»magenta») table.add_column(«Status», justify=»right», style=»green») table.add_row(«1», «Buy Milk», «✅») table.add_row(«2», «Buy Bread», «✅») table.add_row(«3», «Buy Jam», «❌») console = Console() console.print(table)
Подведение итогов
В этом уроке мы узнали, как использовать Rich для украшения терминала. Есть много других функций, которые поддерживает Rich. Подробнее о них читайте в официальной документации.
Не стесняйтесь экспериментировать с исходным кодом этой статьи здесь.
Источник: dev-gang.ru
Rich
Rich или Рич — это опасное существо которое появляется ночью и может превратиться во всё, что напугает игрока.
История
Я играл в Майнкрафт на новом мире с рандомным сидом. Когда была первая ночь почему-то я не мог скрафтить кровать, но у меня было много багов и я решил что это опять один из них. Тут за спиной раздал звук взрыва крипера, я подумал что всё, конец, но обернувшись увидел. ничего. В течение ночи мне казалось, что кто-то смотрит на меня. Но мне ни разу не удавалось увидеть владельца взгляда, но когда луна заходила за горизонт, я увидел что на её фоне издырявленного чёрного игрока с красными глазами.
На следующую ночь я услышал голоса целой армии зомби прямо за дверью моего дома (я успел его сделать за день) и тут в чате появилось сообщение:
Error-1123 Game in 5 second
Я был в оцепенел от страха, у меня раньше не выдавал ошибку и тем более надо мною так не шутил миф. Тут на меня побежал Lick и прямо передо мной исчез. Я написал:
I’m Rich. I’ll FRIGHTEN YOU.
На меня посыпались разные мифы и как только они падали на меня они умирали, а чате писалось «Rich frighten you». От страха я покинул мир и удалил его, но оно не отстало от меня.
Начав искать похожие мифы я нашёл участника «ChessMaster07 was frighten Rich». Он был на Фэндоме с отключённым аккаунтом, но мог писать мне на стену обсуждения, очевидно никто больше этого не видел. Его первым сообщением было:
«Привет! Вот мы снова встретились. Кстати, ты довольно долго держался у меня на сиде, было прикольно. Ты молодец, но у тебя не получилось дожить до конца, так что ты умрёшь. »
После этого я сломал себе ноготь, папа меня наказал отлучив от компьютера и меня начали преследовать неудачи вроде плохого интернета, водителей-психов и т. п.
Источник: minecraftcreepypasta.fandom.com
Hot Rich открывает перед вами долгий путь при прохождении множества сюжетных миров с разными эпизодами с задачами, которые вам нужно будет решить.
amongusmod.ru