ASCII打印颜色代码可以保留颜色

当我使用以下代码:

print('\27[31m就绪!')

我打印的其他内容保持相同的颜色,而在它后面加上“\n”也不会做任何事。 这个该怎么办? 是否有一个“\”命令来关闭这样的颜色代码?

如何使文本恢复正常,以便我可以打印其他东西? 我希望用最简单的方法(无论如何)将“完成!”变为红色,并且一切回归正常,如果我添加另一个打印,其中说它应该是绿色,那么我希望在消息之后它恢复正常

点赞
用户6615819
用户6615819

当你完成使用新的颜色后,使用\27[0m将颜色重置为默认。

例如:

print('\27[31m准备好了!\27[0m\n')
2016-07-26 15:05:08
用户4518274
用户4518274

当你使用

print('\27[31mReady!')

这会改变前景色,这是标准的 ECMA-48 控制序列之一。大多数(不是全部)终端都实现了标准 SGR 39(重置前景色)。

print('\27[39mNext!')

同样地,大多数重置颜色(以及所有其他视频属性)都是 SGR 0(零是可选的):

print('\27[0mDone!')
print('\27[mDone!')

参考:

2016-07-27 08:39:31