Python Can';设置丰富的格式后,请不要重置颜色
我对rich图书馆有意见。 安装后,我在代码中写道:Python Can';设置丰富的格式后,请不要重置颜色,python,Python,我对rich图书馆有意见。 安装后,我在代码中写道: from rich import print d = { "employee1": "telephone: 123-456-789 -", "employee2": "telephone: 098-654-321", } # and in the line with the code I set the color magenta bold: p
from rich import print
d = {
"employee1": "telephone: 123-456-789 -",
"employee2": "telephone: 098-654-321",
}
# and in the line with the code I set the color magenta bold:
print(
d.get(p, "[bold magenta] there is no such employee [/ bold magenta]!")
)
问题如下。在第一次尝试更改颜色后,“没有这样的员工”文本的颜色没有更改,但电话号码的颜色已更改。然后我删除了颜色格式化行,但电话号码仍然是洋红色的
现在,如果将文本“没有这样的员工”更改为红色,则会更改,但电话号码仍为洋红色
即使我从rich import print中删除文本格式并只保留
,我仍然得到了洋红色的电话号码。我认为您必须将打印内容放在同一行,并且要更改颜色,您需要将洋红色放在它旁边,请尝试以下操作:
print(d.get(p, "[bold magenta]there is no such employee[/bold magenta]!"))
看起来这是一个默认设置。看一看
引用该页顶部的话:
Rich可以将样式应用于打印()或日志()的文本中的模式。
在默认设置下,Rich将突出显示数字等内容,
字符串、集合、布尔、None和一些更奇特的模式
例如文件路径、URL和UUID
您可以通过在上设置highlight=False来禁用高亮显示
打印()或日志(),或在控制台上设置highlight=False
构造函数,它在任何地方都禁用它
正如O的回答中所说,这可能是一个默认设置。我摆弄了一下
并且能够删除电话号码等的颜色。默认情况下,这些号码是彩色的。
如果我运行下面的代码,我会得到白色的电话号码和电话线
洋红“没有这样的员工”
从富导入打印
从rich.console导入控制台
con=控制台(突出显示=假)
d={
“雇员1”:“电话:123-456-789”,
“雇员2”:“电话:098-654-321”,
}
对于范围(0,4)内的x:
p=f“雇员{x}”
伪造印刷品(
d、 获取(p,“[bold magenta]没有这样的员工[/bold magenta]!”)
)
是否在命令行上运行此操作?您是否尝试过启动一个新的终端?您可能应该在斜杠后没有空格地结束格式化,甚至可能使用斜杠两次,例如“[/bold/magenta]”。或者,只需使用“[/]”即可结束所有formatting.im在IDLE中编辑代码并在cmd中运行。每次我对代码做一些更改时,我都会在new cmd中运行它。“您可能应该在斜杠后不留空格地结束格式化,甚至可能使用斜杠两次,例如“[/bold/magenta]”。或者,只需使用“[/]”结束所有格式化。”但为什么我没有改变电话号码的颜色,却改变了它呢?电话号码似乎是默认的颜色。我每次打印都会得到蓝色数字。但是,对于您的代码(刚刚添加了一个循环,用于将某些内容分配给p),它将电话号码打印为蓝色,白色文本,错误消息为红色。我是第一次这样做的,在更改颜色后,但在电话号码上:/打印不需要在一行中。空间也不会把我搞得一团糟我该怎么做?我应该在哪里写代码来重置数字的颜色?我只学了4天Python,我不知道怎么做:/非常感谢!:)祝你今天愉快!很高兴,我能帮忙。你也一样