本文由 Python 编程时光整理

Rich 是一个 Python 库,可以为你在终端中提供富文本和漂亮、精美的格式。

使用 Rich API 可以很容易的在终端输出添加各种颜色和不同风格。它可以绘制漂亮的表格,进度条,markdown,突出显示语法的源代码及回溯等等,优秀的功能不胜枚举。

# 1.Rich 兼容性

Rich 适用于 Linux,OSX 和 Windows。可与新的 Windows 终端一起使用,Windows 的经典终端仅限 8 种颜色。

Rich 还可以与 Jupyter NoteBook 一起使用,而无需其他配置。

# 2.Rich 安装说明

请选择以下任一种方式输入命令安装依赖

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。

  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。

  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install rich

# 3.Rich 的 Print 功能

想毫不费力地将 Rich 的输出功能添加到你的Python脚本程序中,你只需导入 rich print 方法,该方法和其他 Python 的自带功能的参数类似。你可以试试:

from rich import printprint("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())

可以看到,基于 rich 的 print 方法输出的内容都是带颜色、带重点的,相比于Python自带的 print 有明显的优势。

# 4.自定义 Console 控制台输出

想要对 Rich 终端内容进行更多的自定义设置,你需要导入并构造一个控制台对象:

from rich.console import Consoleconsole = Console()

Console 对象含有一个 print 方法,它的界面与 python 内置的 print 功能相似。你可以试试:

console.print("Hello", "World!")

你可能已经料到,这时终端上会显示“ Hello World!”,请注意,与内置的“打印”功能不同,Rich 会将文字自动换行以适合终端宽度。

有几种方法可以为输出添加自定义颜色和样式。你可以通过添加 style 关键字参数来为整个输出设置样式。例子如下:

console.print("Hello", "World!", style="bold red")

输出如下图:

这个范例一次只设置了一行文字的样式。如果想获得更细腻更复杂的样式,Rich 可以渲染一个特殊的标记,其语法类似于 bbcode。示例如下:

console.print("Where there is a [bold cyan]Will[/bold cyan] there [u]is[/u] a [i]way[/i].")

# 5.Console 控制台记录

Console 对象具有一个 log() 方法,该方法具有与 print() 类似的界面,除此之外,还能显示当前时间以及被调用的文件和行。

默认情况下,Rich 将针对 Python 结构和 repr 字符串进行语法突出显示。如果你记录一个集合(如字典或列表),Rich 会把它漂亮地打印出来,使其切合可用空间。下面是其中一些功能的示例:

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 = Falsecontext = {"foo": "bar",}movies = ["Deadpool", "Rise of the Skywalker"]console.log("Hello from", console, "!")console.log(test_data, log_locals=True)test_log()

以上范例的输出如下:

注意其中的 log_locals 参数会输出一个表格,该表格包含调用 log 方法的局部变量。

log 方法既可用于将长时间运行应用程序(例如服务器)的日志记录到终端,也可用于辅助调试。

Logging 处理程序

你还可以使用内置的处理类来对 Python 日志记录模块的输出进行格式化和着色。下面是输出示例:

# 6. 表情符号

将名称放在两个冒号之间即可在控制台输出中插入表情符号。示例如下:

>>> console.print(":smiley: :vampire: :pile_of_poo: :thumbs_up: :raccoon:")
												

Python开发者的完美终端工具相关推荐

  1. 专属Python开发者的完美终端工具—Rich

    Rich 是一个 Python 库,可以为你在终端中提供富文本和漂亮.精美的格式. 使用 Rich API 可以很容易的在终端输出添加各种颜色和不同风格.它可以绘制漂亮的表格,进度条,markdown ...

  2. Python之打造专属Python开发者的完美终端工具Rich

    一.前言 Rich 是一个 Python 库,可以在终端中提供富文本和漂亮.精美的格式. 使用 Rich API 可以很容易的在终端输出添加各种颜色和不同风格,它可以绘制漂亮的表格,进度条,markd ...

  3. 将Android手机打造成你的Python开发者桌面#华为云·寻找黑马程序员#

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  4. 黑科技抗疫,Python开发者大集结!

    2020年初,突如其来的新型冠状病毒肺炎打乱了所有人的节奏,但社会各界迅速团结起来,为抗击疫情贡献出自己的力量.除了捐款捐物外,很多科技公司运用5G.大数据.AI.云计算等新互联网技术,以科技的手段助 ...

  5. 50万+Python 开发者的选择,这本书对零基础真是太太太友好了

    人生苦短,我用 Python! 10 月 30 日,Python 之父发推宣布自己退休,离开 DropBox.他说:"这感觉苦乐参半,我就要离开 DropBox 退休了,这令人忧伤.而我在 ...

  6. Python 开发者节省时间的 10 个小技巧

    Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸引程序员的功能 ...

  7. Python 开发者的 6 个必备库

    无论你是正在使用 Python 进行快速开发,还是在为 Python 桌面应用制作原生 UI ,或者是在优化现有的 Python 代码,以下这些 Python 项目都是应该使用的. Python 凭借 ...

  8. 揭秘 Python 火爆背后的真实现状,2020 Python 开发者调查

    整理 | 李磊  责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 历经四年迭代,Python 官方正式发布 2020 年度开发者调查报告.本次调查由 Python Software Fo ...

  9. 黑科技抗疫,Python 开发者大集结!

    2020年初,突如其来的新型冠状病毒肺炎打乱了所有人的节奏,但社会各界迅速团结起来,为抗击疫情贡献出自己的力量.除了捐款捐物外,很多科技公司运用5G.大数据.AI.云计算等新互联网技术,以科技的手段助 ...

最新文章

  1. 中兴V880使用手记之五——刷入recovery
  2. 瓜分百万奖金 | 科大讯飞A.I.开发者大赛医疗赛道
  3. 采集音频和摄像头视频并实时H264编码及AAC编码[转]
  4. 什么是URL?协议头、路径和端口是什么意思?
  5. python画椭圆turtle_Python turtle画图库画姓名实例
  6. JavaScript立即执行函数学习
  7. 软件工程--第二章--可行性分析
  8. javascript面向对象编程实现[定义(静态)属性方法--继承]
  9. (27)VHDL实现非(数据流描述)
  10. 贝叶斯判别分析的基本步骤_环境感知算法-目标追踪1.2- 贝叶斯方法
  11. vue05-REST 请求
  12. php jwt payload,php实现jwt
  13. 第二百九十八节,python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表...
  14. 来上海度过的第一个五一,我去了哪些地方?
  15. pytorch 机器翻译 seq2seq 模型和注意力机制
  16. 网络安全 顶级进行鱼叉式钓鱼攻击?手把手教学
  17. java -cp 与 java -Djava.ext.dirs的区别与坑
  18. eclipse中ctrl+D失效的解决方案
  19. Anaconda Navigator Applications 缺少Notebook等应用
  20. 【C语言练习4】根据公式计算π的值,π=4-4/3+4/5-4/7+4/9+... 打印出一个表格来显示,用公式中的1项、2项、3项...计算出来π的近似值

热门文章

  1. php插入word图片,如何在PHPOffice / PHPWord模板上添加/设置图像?
  2. 老万的java技术书单:你还在吃快餐吗?
  3. Golang类型转化方法汇总
  4. PHP金额计算高精度函数
  5. WeChat小程序授权机制踩坑请求头中设置cookie保持session
  6. Bootstrap的lia
  7. Linux的Nginx八:服务器配置
  8. 流水调度问题c语言,基于遗传算法的流水车间调度问题汇总.doc
  9. 码农和程序员等的差别
  10. linux 开放1701端口,长连接及Linux 查看长连接端口