当
click.secho("helo", fg="yellow")
写入管道时,默认情况下颜色会被去除。即使 stdout
是管道,是否有办法强制单击发出颜色代码?
动机:我们有一个 Python 程序,它会调度 scons 脚本,读取其
stdout
管道并将其写入终端。我们希望在终端上看到 scons 脚本中 click.secho(...)
语句的颜色信息。如果需要,我们可以在 scons 脚本的开头添加对 click
的调用以强制保留颜色。
click.echo
如果输出看起来不像终端,则专门删除颜色和样式代码,并且 click.secho
只是 click.echo
和 click.style
的包装。
您可以通过
color=True
无条件保留颜色/样式代码:
click.secho("helo", fg="yellow", color=True)