Colors ASCII打印颜色代码保持颜色不变

Colors ASCII打印颜色代码保持颜色不变,colors,lua,ascii,ansi-escape,Colors,Lua,Ascii,Ansi Escape,当我使用: print('\27[31mReady!') 我打印的其他所有东西都保持相同的颜色。 在它后面加上\n,没有任何作用。这到底该怎么办? 是否有一个“\”命令来返回关闭颜色代码,像这样 如何使文本正常,以便打印其他所有内容? 我希望用最简单的战术(无论什么)使红色和所有其他一切恢复正常如果我添加了另一个显示为绿色的打印,那么我希望在消息后显示为绿色,它应该恢复正常当您使用完新颜色后,使用\27[0m将您的颜色重置为默认颜色 例如: print('\27[31mReady!\27[0m

当我使用:

print('\27[31mReady!')
我打印的其他所有东西都保持相同的颜色。 在它后面加上\n,没有任何作用。这到底该怎么办? 是否有一个“\”命令来返回关闭颜色代码,像这样

如何使文本正常,以便打印其他所有内容?
我希望最简单的战术(无论什么)使红色和所有其他一切恢复正常如果我添加了另一个显示为绿色的打印,那么我希望在消息后显示为绿色,它应该恢复正常

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

例如:

print('\27[31mReady!\27[0m\n')

使用完新颜色后,使用
\27[0m
将颜色重置为默认颜色

例如:

print('\27[31mReady!\27[0m\n')
当你使用

print('\27[31mReady!')
这会改变前景色。这是标准ECMA-48控制序列之一。您可能使用的大多数(并非所有)终端也会实现标准SGR 39(重置前景色)

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

参考:

当您使用

print('\27[31mReady!')
这会改变前景色。这是标准ECMA-48控制序列之一。您可能使用的大多数(并非所有)终端也会实现标准SGR 39(重置前景色)

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

参考:


这是唯一的方法吗?我不确定这是唯一的方法,但它肯定是首选方法。换行符(
\n
)对颜色没有任何影响。在任何需要添加换行符的地方使用它。例如:打印('\27[31mReady!\27[0m\n'))我在哪里可以找到更多的\命令?我应该使用\n like吗?因为如果我打印其他东西,它会自动生成一行新行。如果你不这样做,只使用
\n
,颜色不会影响它。如果你自动获得一行新行,并且你不需要另一行,那么就不要使用
\n
。谷歌对于终端中的ANSI颜色,有很多Lua模块会处理这个问题。例如:这是唯一的方法吗?我不确定这是唯一的方法,但它肯定是首选方法。换行符(
\n
)对颜色没有任何影响。在任何需要添加换行符的地方使用它。例如:打印('\27[31mReady!\27[0m\n'))我在哪里可以找到更多的\命令?我应该使用\n like吗?因为如果我打印其他东西,它会自动生成一行新行。如果你不这样做,只使用
\n
,颜色不会影响它。如果你自动获得一行新行,并且你不需要另一行,那么就不要使用
\n
。谷歌对于终端中的ANSI颜色,有很多Lua模块处理该问题。例如:
print('\27[31mReady!\27[39m\n')
30-37-设置颜色,39-恢复默认颜色,0-重置所有设置
print('\27[31mReady!\27[39m\n')
30-37-设置颜色,39-恢复默认颜色,0-重置所有设置