python rich
库笔记
官网中文文档
预览
在命令行输入以下命令进行预览
rich.print
这是一个导入即用的函数,它的参数与python
自带的print
函数一致
以下是一个示例:
1 2 3 4 5 6 7
| from rich import print
print({1:[2,3,4,5]})
print("[red]hello[/red] [i u]world[/i u]")
|

rich.console.Console
这个比刚刚的print
更高级一些
1 2 3 4 5 6 7
| from rich.console import Console
console = Console() console.print(123)
console.log('[blue]world[/blue]') console.log('log_locals选项可以用来打印局部变量的值',log_locals=True)
|

图的右侧还有代码的行数,这里没有截到右边
rich.inspect
可以用来检查对应对象或者实例
1 2 3 4 5 6 7
| from rich import inspect
my_list = ["foo", "bar"]
inspect(my_list, methods=True)
inspect(inspect)
|

rich.progress.track
打印无闪烁的进度条
1 2 3 4 5 6 7 8 9 10
| from rich.progress import track import time
def do_step(arg): time.sleep(0.1)
for step in track(range(100)): do_step(step)
|

进度条右侧的剩余时间是它自己估计的
rich.console.Console.status
对于那些很难计算进度的情况,你可以使用 status 方法,它会展示一个“环形旋转”的动画和文字信息。这个动画并不会妨碍你正常使用控制台。
1 2 3 4 5 6 7 8 9 10 11
| from time import sleep from rich.console import Console
console = Console() tasks = [f"task {n}" for n in range(1, 11)]
with console.status("[bold green]Working on tasks...") as status: while tasks: task = tasks.pop(0) sleep(1) console.log(f"{task} complete")
|

这个小动画和前面的进度条不同,进度条结束了也会保留,而这个小动画结束之后会消失。
其他
还有一些类似显示$Markdown$和语法高亮的功能,感觉挺实用的,以后要用的时候可以学一下