Python开发者的完美终端工具
# 1.Rich 兼容性
Jupyter NoteBook
一起使用,而无需其他配置。# 2.Rich 安装说明
Windows 环境 打开 Cmd (开始-运行-CMD)。
MacOS 环境 打开 Terminal (command+空格输入Terminal)。
如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install rich
# 3.Rich 的 Print 功能
from rich import print
print("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())
![](https://filescdn.proginn.com/486b0861a13acd97a736a7c832b1d41c/b5cc01ab733fc5dedc393ca716517943.webp)
# 4.自定义 Console 控制台输出
from rich.console import Console
console = Console()
console.print("Hello", "World!")
console.print("Hello", "World!", style="bold red")
![](https://filescdn.proginn.com/817aff0938b53a4e49e6e4c5eea4361d/337a8d2dc800801a033487ce83ac3fcf.webp)
console.print("Where there is a [bold cyan]Will[/bold cyan] there [u]is[/u] a [i]way[/i].")
![](https://filescdn.proginn.com/39d1545bfb709fdda341f0d14b4c6493/f7d756c54851f93c9e134e382e69d5d9.webp)
# 5.Console 控制台记录
from rich.console import Console
console = Console()
test_data = [
{"jsonrpc": "2.0", "method": "sum", "params": [None, 1, 2, 4, False, True], "id": "1",},
{"jsonrpc": "2.0", "method": "notify_hello", "params": [7]},
{"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": "2"},
]
def test_log():
enabled = False
context = {
"foo": "bar",
}
movies = ["Deadpool", "Rise of the Skywalker"]
console.log("Hello from", console, "!")
console.log(test_data, log_locals=True)
test_log()
![](https://filescdn.proginn.com/60f6642f716239424257b8e81ad209a5/48a2867ee85174bcdb6ca1cc966f25ad.webp)
![](https://filescdn.proginn.com/2971a54697e830736dcda737c88c22d0/7b0645f04986deae119c28b0b032c780.webp)
# 6. 表情符号
>>> console.print(":smiley: :vampire: :pile_of_poo: :thumbs_up: :raccoon:")
😃 🧛 💩 👍 🦝
# 7.表格
from rich.console import Console
from rich.table import Column, Table
console = Console()
table = Table(show_header=True, header_style="bold magenta")
table.add_column("Date", style="dim", width=12)
table.add_column("Title")
table.add_column("Production Budget", justify="right")
table.add_column("Box Office", justify="right")
table.add_row(
"Dev 20, 2019", "Star Wars: The Rise of Skywalker", "$275,000,000", "$375,126,118"
)
table.add_row(
"May 25, 2018",
"[red]Solo[/red]: A Star Wars Story",
"$275,000,000",
"$393,151,347",
)
table.add_row(
"Dec 15, 2017",
"Star Wars Ep. VIII: The Last Jedi",
"$262,000,000",
"[bold]$1,332,539,889[/bold]",
)
console.print(table)
![](https://filescdn.proginn.com/c14fe57cd7094c02d1c7702bed43dcc2/9c4ccdea56a00161dc85834a206a404f.webp)
![](https://filescdn.proginn.com/9bca19a27927f4df74c9db8886c38205/05ec0666f7dd29e7222ce6a72b34eeaa.webp)
# 8.进度条
from rich.progress import track
for step in track(range(100)):
do_step(step)
![](https://filescdn.proginn.com/37230045a596d0544f5bc4785eb45e23/4d26f4cc6f4cf79a7b2ae19a417d8d8d.webp)
![](https://filescdn.proginn.com/04358eac54b6305d71e5409333623c9b/2b9d867d856f7b948350dc7e0683df94.webp)
# 9.按列输出数据
import os
import sys
from rich import print
from rich.columns import Columns
directory = os.listdir(sys.argv[1])
print(Columns(directory))
![](https://filescdn.proginn.com/8c5d6059cddbce8abf44343db44c9ce0/398a2862e90f0eb7b782022842fc1435.webp)
# 10.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)
![](https://filescdn.proginn.com/2d282ff665b7fc71baece10eccf58e36/eaf5abbc37cd406d4acf245013c67ca0.webp)
# 11.语法突出显示
from rich.console import Console
from rich.syntax import Syntax
my_code = '''
def iter_first_last(values: Iterable[T]) -> Iterable[Tuple[bool, bool, T]]:
"""Iterate and generate a tuple with a flag for first and last value."""
iter_values = iter(values)
try:
previous_value = next(iter_values)
except StopIteration:
return
first = True
for value in iter_values:
yield first, False, previous_value
first = False
previous_value = value
yield first, True, previous_value
'''
syntax = Syntax(my_code, "python", theme="monokai", line_numbers=True)
console = Console()
console.print(syntax)
![](https://filescdn.proginn.com/d3b261fdf17551c6388090b3bceb0f03/0dd3904e76df97a5d35ec8866b12942b.webp)
# 12.错误回溯(traceback)
![](https://filescdn.proginn.com/cef974221a26903517cb127be16a3407/8a9964a1c8e960295673641261932b47.webp)
E N D
各位伙伴们好,詹帅本帅假期搭建了一个个人博客和小程序,汇集各种干货和资源,也方便大家阅读,感兴趣的小伙伴请移步小程序体验一下哦!(欢迎提建议)
推荐阅读
评论