如何使用 Click.secho 仅以特定颜色设置一个单词

Den*_*boy 3 python click

我正在使用点击模块。

pip install click
Run Code Online (Sandbox Code Playgroud)

这给了我红色文本

import click
click.secho('Error: This error is ...xx', fg='red')
Run Code Online (Sandbox Code Playgroud)

现在我希望只有“错误:”显示为红色。我怎样才能做到这一点click.secho

小智 19

使用click.echoclick.style

click.echo(click.style("Error", fg="red") + ": This error is...")
Run Code Online (Sandbox Code Playgroud)


blu*_*ers 7

您可以使用secho带有nl(new line) 标志的内置命令。

在您的特定用例中,它看起来像

click.secho('Error', fg='red', nl=False) # This will prevent the secho statement from starting a new line
click.echo(': This error is ...xx')
Run Code Online (Sandbox Code Playgroud)

这会给你你想要的输出


Ign*_*sel 6

来自echo 方法的click文档

除此之外,如果安装了 colorama,echo 功能还将支持对 ANSI 代码的巧妙处理。

colorama文档

print('\033[31m' + 'some red text')
print('\033[30m') # and reset to default color
Run Code Online (Sandbox Code Playgroud)

因此,结合起来,你应该有如下内容

click.echo('\033[31m' + 'Error:' + '\033[30m' + ' This error ... ')
Run Code Online (Sandbox Code Playgroud)

得到你要找的东西。

  • 这不是执行此操作的理想方法 - “click”库应该是低级事物(如 ANSI 终端代码)的高级抽象。其他答案直接使用“click”,包括其命名样式功能。 (2认同)