Python rich 库 - Highlighting
Highlighting
Rich 可以将 style 应用于你 print()
或 log()
的文本中。在默认设置下,Rich 会突出显示数字、字符串、集合 (collection)、bool、None,以及一些比较特殊的模式,如文件路径、URL 和 UUID。另外还有一些非默认的高亮显示,如 ISO8601 高亮显示日期和时间。
你可以通过在 print()
或 log()
上设置 highlight=False
来禁用高亮,或者在 Console 构造函数上设置highlight=False
来禁用高亮。
如果你在构造函数上禁用高亮,你仍然可以在 print/log 上用 highlight=True
选择性地启用高亮。
Custom Highlighters
If the default highlighting doesn’t fit your needs, you can define a custom highlighter.
The easiest way to do this is to extend the RegexHighlighter
class which applies a style to any text matching a list of regular expressions.
Here’s an example which highlights text that looks like an email address:
|
|
highlight
类变量应该包含一个正则表达式的 list。任何匹配表达式的组名都以 base_style
属性为前缀,并作为匹配文本的样式使用。
在上面的例子中,任何电子邮件地址都将应用 “example.email” 样式,我们已经在一个自定义的 Theme 中定义了这个样式。
在 Console 上设置 highlighter
将对你打印的所有文本应用相应的高亮(若启用)
你也可以通过将 highlighter
实例作为一个可调用对象来在更细的层次上使用 highlighter
For example, we could use the email highlighter class like this:
|
|
尽管 RegexHighlighter
相当强大,但你也可以扩展它的基类 Highlighter 来实现自定义的高亮方案。它包含一个单独的方法 highlight,it contains a single method highlight
which is passed the Text
to highlight.
Here’s a silly example that highlights every character with a different color:
|
|