rich|python终端高亮和色彩渲染库——Rich( 二 )


为了更细粒度的样式 , Rich 呈现了一个特殊的标记 , 它的语法类似于bbcode, 举例如下:
console.print(\"Where there is a [bold cyan
Will[/bold cyan
there [u
is[/u
a [i
way[/i
.\")

可以使用Console对象以最小的努力生成复杂的输出 。
InspectRich 有一个Inspect函数 , 它可以生成任何 Python 对象的报告 , 例如类、实例或内置对象的渲染 。
>>> my_list = [\"foo\" \"bar\"

>>> from rich import inspect
>>> inspect(my_list methods=True)

进阶Rich包含许多可渲染对象可用于在 终端中创建优雅输出并帮助调试代码 。
LogConsole 对象有一个log()具有类似print()接口的方法 , 但也会呈现当前时间的列以及进行调用的文件和行 。 默认情况下 , Rich 将为 Python 结构和 repr 字符串进行语法突出显示 。如果记录一个集合(即一个字典或一个列表) , Rich 会漂亮地打印它 , 以便它适合可用空间 。

还可以使用内置的Handler类 对Python日志记录模块的输出进行格式化和着色 。

表格为灵活呈现表格 , 可以使用unicode、框字符、边框、样式、单元格对齐等有多种格式选项 。

进度条Rich可以渲染多个不闪烁的进度条来跟踪长时间运行的任务 。

位置对于难以计算进度的情况 , 可以使用status方法 , 该方法将显示“微调器”动画和消息 。 动画不会阻止正常使用控制台 。

对cli-spinners , 可以通过指定spinner范围 。 运行以下命令以查看可用值 , 呈现出动态效果图:
python -m rich.spinner

树Rich可以树的方式用引导线 , 显示文件结构或任何其他分层数据 。
python -m rich.tree

框格Rich 可以将内容呈现在Columns具有相同或最佳宽度 , 下面是(MacOS / Linux)的一个非常基本的克隆ls在列中显示目录列表的命令:

MD文本Rich可以渲染markdown并合理地将格式转换到终端 。
from rich.console import Console
from rich.markdown import Markdown
console = Console()
with open(\"README.md\") as readme:
markdown = Markdown(readme.read())
console.print(markdown)

语法高亮Rich 使用 pygments 库来实现语法高亮 。 用法类似于渲染markdown; 构建一个Syntax对象并将其打印到控制台 。

其渲染效果如下:

追溯Rich可以渲染回溯 , 它比标准的Python回溯更易于阅读并显示更多代码 。 可以将Rich设置为默认的回溯处理程序 , 这样所有未捕获的异常都将由Rich呈现 。

总结【rich|python终端高亮和色彩渲染库——Rich】本文中我们介绍一个Python下终端渲染工具Rich , 可以帮忙讲我们的终端呈现出多彩多姿 , 当然这样的工具有很多 。 抛砖引玉 , 如果你也在使用类似的工具 , 请不吝回复介绍给大家 。