Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';设置丰富的格式后,请不要重置颜色_Python - Fatal编程技术网

Python Can';设置丰富的格式后,请不要重置颜色

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

我对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:
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,我不知道怎么做:/非常感谢!:)祝你今天愉快!很高兴,我能帮忙。你也一样