首页 > 其他分享 >突出¶

突出¶

时间:2023-09-13 12:57:10浏览次数:33  
标签:荧光笔 console theme rich import 突出

Rich 将自动突出显示文本中的模式,例如数字、字符串、集合、布尔值、无,以及一些更奇特的模式,例如文件路径、URL 和 UUID。

您可以通过设置 on 或 来禁用突出显示,也可以通过在构造函数上设置来禁用突出显示,从而在任何地方禁用它。如果在构造函数上禁用突出显示,您仍然可以有选择地启用突出显示 on print/log。highlight=Falsehighlight=Falsehighlight=True

自定义荧光笔

如果默认突出显示不符合您的需求,您可以定义自定义荧光笔。执行此操作的最简单方法是扩展将样式应用于与正则表达式列表匹配的任何文本的类。

以下示例突出显示了看起来像电子邮件地址的文本:

from rich.console import Console
from rich.highlighter import RegexHighlighter
from rich.theme import Theme

class EmailHighlighter(RegexHighlighter):
    """Apply style to anything that looks like an email."""

    base_style = "example."
    highlights = [r"(?P<email>[\w-]+@([\w-]+\.)+[\w-]+)"]


theme = Theme({"example.email": "bold magenta"})
console = Console(highlighter=EmailHighlighter(), theme=theme)
console.print("Send funds to [email protected]")

类变量应包含正则表达式列表。任何匹配表达式的组名都以属性为前缀,并用作匹配文本的样式。在上面的示例中,任何电子邮件地址都将应用样式“example.email”,这是我们在自定义主题中定义的。highlightsbase_style

在控制台上设置荧光笔会将突出显示应用于您打印的所有文本(如果已启用)。您还可以通过将实例用作可调用对象并打印结果,在更精细的级别使用荧光笔。例如,我们可以像这样使用电子邮件荧光笔类:

console = Console(theme=theme)
highlight_emails = EmailHighlighter()
console.print(highlight_emails("Send funds to [email protected]"))

虽然功能非常强大,但您还可以扩展其基类以实现用于突出显示的自定义方案。它包含一个传递给突出显示的方法。

下面是一个愚蠢的例子,用不同的颜色突出显示每个字符:

from random import randint

from rich import print
from rich.highlighter import Highlighter


class RainbowHighlighter(Highlighter):
    def highlight(self, text):
        for index in range(len(text)):
            text.stylize(f"color({randint(16, 255)})", index, index + 1)


rainbow = RainbowHighlighter()
print(rainbow("I must not fear. Fear is the mind-killer."))

内置荧光笔

可以使用以下内置荧光笔。

  • 突出显示ISO8601日期时间字符串。

  • 突出显示 JSON 格式的字符串。

标签:荧光笔,console,theme,rich,import,突出
From: https://www.cnblogs.com/full-stack-linux-new/p/17699307.html

相关文章

  • BOSHIDA DC电源模块在仪器设备中使用的突出表现
    BOSHIDADC电源模块在仪器设备中使用的突出表现DC电源模块是一种广泛应用于各种电子设备中的电源设备,它的最显著特点就是可以将电源直接转换为直流电,而且可以根据需要进行稳定地输出,这使得它在很多领域都有着广泛的应用。在仪器设备中,DC电源模块的使用具有以下几个突出的表现:......
  • jquery淡入淡出以及突出显示
           ......
  • SpringBoot3.0最新深入浅出从入门到项目实战,突出Web应用痛点解决方案
    SpringBoot3.0最新深入浅出从入门到项目实战,突出Web应用痛点解决方案SpringBoot已经成为Java开发中最流行的框架之一,它提供了一种快速构建、易于扩展的方式,使开发人员能够更加专注于业务逻辑而不是繁琐的配置。而最新的SpringBoot3.0版本将进一步改善开发体验,并提供更多的解决方......
  • 攻击面管理技术突出!螣龙安科携ASM+BAS再登网安全景图!
    近日,“数说安全”正式发布《2023年中国网络安全市场全景图》,这是自2018年开始,“数说安全”发布的第六版全景图。螣龙安科凭借产品创新力和应用实践力在“攻击面管理(ASM)”、“入侵与攻击模拟(BAS)”及“攻防实训/靶场”领域均有入选。在数字化转型的大背景下,企业需要被“看到”和......
  • FLEX实践—PieChart综合应用(颜色渐变、显示选中值、选中部分突出、数据钻探等)
    代码如下:(代码中附加了注释,每一种方法对应的效果均有注释)<?xmlversion="1.0"encoding="utf-8"?><mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Scr......
  • 餐饮小程序系统开发有哪些作用?五个作用非常突出
     众所周知,餐饮行业的商家非常适合开发一个餐饮小程序系统,可以给商家带来很大的帮助。那么餐饮小程序系统开发有哪些作用?今天名锐讯动为大家介绍五个作用非常突出。 1.定位服务。如果用户想要到店就餐却不知道商家门店的具体位置该怎么办呢?一旦没有解决这个问题,那么商家门店在......
  • pandas的突出显示(style.highlight方法)
    pandas的突出显示(style.highlight方法)Pandas提供了一些常用的内置样式,可快速对表格数据进行格式化展示,要记住的是该方法只能在jupyternotebook中显示出来,并不能在pycharm中显示,并且不可用print打印,但是可以将筛选出的文件保存至文件中空值高亮df.style.highlight_null()可......
  • 支持隐私计算应用研究,零数科技获感谢信和突出贡献奖
    近来,零数科技收到一封来自隐私计算联盟的感谢信,信中内容体现了联盟对公司一年以来在数据流通和隐私计算相关的科研成果的高度认可,同时,零数科技产品总监胡豫皖也收到了来自联......
  • 台积电美国建厂问题突出
    台积电美国建厂问题突出纽约时报:台积电400亿美元美国建厂是糟糕的经营决定!   2月23日消息,台积电美国亚利桑那州晶圆厂一期项目正在稳步建设中,预计将于2024年投产4nm......
  • 分布式核心,中电金信获数字化转型突出贡献奖!
    近日,由《金融电子化》杂志社主办的“2022中国金融科技年会暨第十三届金融科技应用创新奖颁奖典礼”成功举办。中电金信“基于全栈创新技术的银行分布式核心系统”经过层层遴......