近期我写下了两篇关于日志输出附带高亮颜色的博文:
- Pycharm插件(Grep Console)自定义规则输出颜色日志
- Python 在 Console 输出颜色内容
有效的使用工具为的是在我们开发的过程中, 能快速定位我们需要关注的内容, 也感谢那些第三方库或者插件的开发者们。
这篇博文主要是想介绍 rich
这个第三方库的使用, 那为何会提到之前写的关于日志输出的呢?原因是 rich
也是颜色输出日志的第三方库。
安装
Rich 的官方使用文档
python3 -m pip install rich
复制代码
使用
以下测试皆采用
python3 medusa.py
的方式执行测试代码。
print()
print
函数可以以更优雅的方式输出 Python 对象, 如果你打印的对象长度不需要分行显示的话, 它将用一行的方式展示给你。
#!/usr/bin/env python
# _*_ Coding: UTF-8 _*_
from rich import print as rprint
rprint("[italic red]Hello[/italic red] World!", locals())
复制代码
#!/usr/bin/env python
# _*_ Coding: UTF-8 _*_
from rich import print as rprint
rprint({
'name': 'MedusaSorcerer',
'blog': 'https://juejin.im/user/5da32395e51d4578200cc9c5',
'locals()': '返回当前位置全部局部变量, 并以字典的方式展示',
'python': '一种简单直接的开发语言, 好用就对了',
})
复制代码
Console
在 rich
中 Console
对象是一个重点对象了, 首先你需要实例化一个 Console
对象, 在进行使用, 而你实例化的对象在渲染的时候将会检测以下几个属性值:
size
是终端的当前尺寸(如果您调整窗口大小, 则可能会更改)encoding
是默认编码(通常为utf-8
)is_terminal
是一个布尔值, 指示Console
实例是否正在写入终端color_system
是包含控制台颜色系统的字符串None
完全禁用颜色auto
将自动检测颜色系统standard
可以显示8种颜色, 正常和明亮的变化, 总共16种颜色256
可以显示标准中的16种颜色以及240种颜色的固定调色板truecolor
可以显示1670万种颜色, 这很可能是显示器可以显示的所有颜色windows
在旧版 Windows 终端中可以显示8种颜色, 新的 Windows 终端可以显示truecolor
我们先看下实例对象的 print()
方法:
#!/usr/bin/env python
# _*_ Coding: UTF-8 _*_
from rich.console import Console
console = Console()
console.print([1, 2, 3])
console.print("[blue underline]Looks like a link")
console.print(locals())
console.print("MEDUSA", style="white on blue")
复制代码
给我的第一感觉和上面的导入的 print()
没啥区别哈~
我们再看一个例子:
#!/usr/bin/env python
# _*_ Coding: UTF-8 _*_
from rich.console import Console
console = Console(width=20)
style = "bold white on blue"
console.print("Medusa", style=style)
console.print("Medusa", style=style, justify="left")
console.print("Medusa", style=style, justify="center")
console.print("Medusa", style=style, justify="right")
复制代码
我们可以在指定 Console 大小的时候使用对其参数:justify
那 style
样式参数有什么规则呢?
bold
或b
粗体字blink
用于闪烁的文本blink2
用于快速闪烁的文本(大多数终端不支持)conceal
用于隐藏的文本(大多数终端不支持)italic
或i
斜体文本(Windows不支持)reverse
或r
用于前景和背景颜色反转的文本strike
或s
带有一行的文字underline
或u
带下划线的文字underline2
或uu
双下划线文字frame
用于带框的文本encircle
环绕的文本overline
或o
上划线的文字
你也可以这样来说明多个样式 console.print("Danger, Will Robinson!", style="blink bold red underline on white
或者是使用 not
来否定样式 console.print("foo [not bold]bar[/not bold] baz", style="bold")
。
rich
的功能很强大, 支持 console 直接输出, 支持 log 输出, 也支持 file 文件写入等方式, 还有表格输出等等, 如果你想进一步学习这个库, 建议你移步 Rich 的手机号码出售官方使用文档, 这个世界没有什么比官方文档更加具体的文档了。
那博客的目的呢?
在此之前你还在为你的输出担忧, 而一篇博文的简单介绍之后你发现了一个新的工具, 对的, 博客只是一个解决 BUG 和工具分享的平台了, 我个人觉得 rich
的功能还不错, 推荐了几个简单的功能, 让你不需要查看大量的官方文档再去评估这个工具的优缺点。
今天的你进步了吗?
今天的文章Python – rich 库讲解分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/63154.html