一、前言

  • Rich 是一个 Python 库,可以在终端中提供富文本和漂亮、精美的格式。
  • 使用 Rich API 可以很容易的在终端输出添加各种颜色和不同风格,它可以绘制漂亮的表格,进度条,markdown,突出显示语法的源代码及回溯等,优秀的功能不胜枚举。

二、Rich 兼容性

  • Rich 适用于 Linux,OSX 和 Windows。可与新的 Windows 终端一起使用,Windows 的经典终端仅限 8 种颜色。
  • Rich 还可以与 Jupyter NoteBook 一起使用,而无需其他配置。

三、Rich 安装说明

① Python 安装

  • 在 windows 上安装 Python:
    • 下载 Python 的最新版本:访问链接 Python 官网,在 Windows 操作系统上安装 Python 3.10.0,大家也可以自行选择最新版的下载。

  • 进入下一个页面后,拉到最下面,选择 Windows embeddable package (64-bit) 下载:

    • 双击下载完成的应用程序,记得一定要勾选 ADD Python 3.7 to PATH,否则 cmd 无法运行 Python,然后选择 Install Now 进行安装,默认会安装 pip,而且将安装到 C 盘(推荐)。如果希望换一个盘安装,可以点击 Customize installation 在里面选择其他的盘。
  • 在 macOS 上安装 Python:
    • 其实 macOS 上是默认安装了 Python 的,只不过版本是 Python2.7,其相对于现在的 Python 3 缺少了很多特性,而且速度也比 Python 3 慢,因此还是建议大家装 Python 3。
    • 同样地,下载 Python 的最新版本,访问链接:Python 官网,在 macOS 操作系统上安装 Python 3.7.4,大家也可以自行选择最新版的下载。

  • 进入下一个页面后,拉到最下面,选择 macOS 64-bit universal2 installer 下载:

  • 下载完成后得到一个 pkg 文件,双击打开,按照指示步骤进行安装即可。

② 安装依赖

  • 请选择以下任一种方式输入命令安装依赖:
    • Windows 环境打开 Cmd (开始 - 运行 - CMD);
    • MacOS 环境打开 Terminal (command + 空格输入 Terminal);
    • 如果使用的是 VSCode 编辑器或 Pycharm,可以直接使用界面下方的 Terminal。
pip install rich

四、Rich 的 Print 功能

  • 想毫不费力地将 Rich 的输出功能添加到 Python 脚本程序中,只需导入 rich print 方法,该方法和其他 Python 的自带功能的参数类似:
from rich import printprint("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", locals())

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

五、自定义 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].")

六、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 日志记录模块的输出进行格式化和着色。下面是输出示例:

七、 表情符号

  • 将名称放在两个冒号之间即可在控制台输出中插入表情符号。示例如下:
>>> console.print(":smiley: :vampire: :pile_of_poo: :thumbs_up: :raccoon:")
												

Python之打造专属Python开发者的完美终端工具Rich相关推荐

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

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

  2. Python开发者的完美终端工具

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

  3. 圣诞节怎么能缺少圣诞树呢?Python+HTML打造专属于你的圣诞树

    前言: 美酒一杯让人醉,温馨陪伴浪漫随;雪花片片惹人爱,烦恼忧伤全不见;字里行间藏真情,文短情深送心愿:圣诞佳节快来到,祝大家永远开心幸福! Hello大家好,我是Dream. 圣诞节马上到了,一些朋 ...

  4. python 面部识别_一文教你在Python中打造你自己专属的面部识别系统

    原标题:一文教你在Python中打造你自己专属的面部识别系统 人脸识别是用户身份验证的最新趋势.苹果推出的新一代iPhone X使用面部识别技术来验证用户身份.百度也在使"刷脸"的 ...

  5. python seo分析器_python与SEO浅谈Python+ELK打造seo数据分析监控系统

    首先,这是一门工具类的课程,当然也会讲到seo方面一些知识. 其次,这是一门能帮到90%以上从事seo工作人员提升技能和效率的课程. 接着,这门课程的内容很丰富,一定有你想要的内容. 最后,这门课程很 ...

  6. 6位专家耗时90天打造,Python的核心知识,都在这里了!

    最近几年 Python 语言超级火爆,不只是编程圈内火,各行各业的圈子里也都在讨论. 为什么突然之间,各行各业的人都来学习 Python 呢? 作为从业者,我就经常被用户询问:为什么要学 Python ...

  7. 程序员看过来!JS、Java、C 依然强势,Go、Kotlin、Python 潜力股,2020 开发者生态系统报告

    编译 | 屠敏 头图 | CSDN 下载自东方 IC 出品 | CSDN(ID:CSDNnews) 一切过往,皆为序章. 2019 年,走出舒适区的技术圈迎来消费互联网向产业互联网的转型,也开始了数字 ...

  8. python从入门到入土表情包-Python开发个人专属表情包网站,表情在手,天下我有...

    "表情包"是一种利用图片来表示感情的一种方式.表情包是在社交软件活跃之后,形成的一种流行文化,表情包流行于互联网上面,基本人人都会发表情. 曾经你是否也有过找不到表情包去应对别人的 ...

  9. python恶搞表情包-Python开发个人专属表情包网站,表情在手,天下我有

    "表情包"是一种利用图片来表示感情的一种方式.表情包是在社交软件活跃之后,形成的一种流行文化,表情包流行于互联网上面,基本人人都会发表情. 曾经你是否也有过找不到表情包去应对别人的 ...

最新文章

  1. Bootstrap笔记(记录不会的知识)
  2. 脱壳学习之加壳的概念
  3. java并发编程(2)——wait和notify解析
  4. python中的数据类型和常用运算符
  5. gc垃圾收集器 与gc算法_GC解释:收集器概述
  6. linux的mysql本地yum安装_linux下使用yum安装mysql
  7. 在centos7安装nodejs并升级nodejs到最新版本
  8. 操作文件和目录【TLCL】
  9. Linux查看进程是否占用,Linux 下查看哪个进程占用swap空间
  10. 批量删除Cookie(实用)
  11. canvas drawImage() 方法绘制图片与视频
  12. python封装成jar包_将Python代码打包为jar软件的简单方法
  13. 关于matlab的erf与erfc
  14. php phalapi,[6.3]-SDK包(PHP版) | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
  15. 朋友会触动我们的心灵
  16. 如何理解新技术带来的新资产类别?
  17. 考PMP真的有用吗?
  18. 安卓九宫格上传图片(微信朋友圈,QQ动态)小demo
  19. 社会保障卡读取基本文件数据
  20. Flask智能图书推荐系统

热门文章

  1. 数据库表及字段命名、设计规范
  2. goldengate 故障及解决方法汇总
  3. Linux文件句柄限制总结
  4. IoC--structuremap
  5. 服务器后端 项目代码常用目录图
  6. 16.实现多个具有相同方法的接口和父类与实现接口有相同方法
  7. [故障公告]14:40-15:00博客站点web服务器雪崩似的CPU 100%
  8. 设置计算机的出站和入站规则
  9. 如何计算和控制好项目开发成本?
  10. Java黑皮书课后题第6章:6.1(数学:五角数)一个五角数被定义为n*(3*n-1)/2,其中n=1、2…。所以开始的几个数字就是1、5、12、22…,编写具有以下方法头的方法,返回一个五角数