如何在str.format()方法字符串中放入颜色



我有这个字符串:

form = '''
- {sha}: {message}
~> {commit_status_change}
=> {result_for_commit}
'''

然后我使用click(或任何其他工具(准备用于着色的参数:

params = {
"sha": click.style(sha, bold=True),
"message": click.style(msg, bold=True),
"commit_status_change": click.style(change, fg="green"),
"result_for_commit": click.style(result, fg="green")
}

最后,我打印字符串:

print(form.format(**params))

我想让=>~>符号加粗,同时保持这种整洁的形式。如何使用python3?

您可以使用ANSI转义序列将文本加粗:

form = '''
- {sha}: {message}
33[01m ~> 33[0m {commit_status_change}
33[01m => 33[0m {result_for_commit}
'''

在windows上,您必须调用os.system('')才能启用转义码。此外,许多终端不支持粗体,最好使用颜色稍浅的文本,或者使用下划线。