Python 控制台彩色文本更改字符串长度
在窗户里, 名为Python 控制台彩色文本更改字符串长度,python,colorama,Python,Colorama,在窗户里, 名为colorama的彩色控制台文本模块会更改颜色,但也会更改字符串长度 我如何避免这种情况 我的代码: from colorama import * #Not only colorama init(convert=True) my_text = Fore.LIGHTCYAN_EX+"Hello World!" print(mytext, len(my_text)) #Output: Hello World! 17 所以我想要12个长度,但模块又增加了5个字符。这是因为要添加颜
colorama
的彩色控制台文本模块会更改颜色,但也会更改字符串长度
我如何避免这种情况
我的代码:
from colorama import * #Not only colorama
init(convert=True)
my_text = Fore.LIGHTCYAN_EX+"Hello World!"
print(mytext, len(my_text))
#Output: Hello World! 17
所以我想要12个长度,但模块又增加了5个字符。这是因为要添加颜色,他们在字符串的开头添加隐藏字符,告诉显示它的东西使用颜色。通过如下方式打印文本,可以查看文本的实际值:
from colorama import * #Not only colorama
init(convert=True)
my_text = Fore.LIGHTCYAN_EX+"Hello World!"
print(repr(my_text), len(my_text))
它将输出'\x1b[96mHello World!'17
如果您想继续获取文本的长度,那么最好将其存储在变量中为“Hello World!”仅在显示时添加Fore.LIGHTCYAN_EX这是因为您已使用
Fore.LIGHTCYAN_EX+…
将字符添加到字符串中。使用颜色可以获得12个长度吗?您可以创建自己的ColoredText字符串类,将文本字符与指定给它们的颜色分开。但是,它们的行为基本上类似于常规字符串rwise(例如关于值len()
returns)。回复延迟,但我想在我的roguelike控制台游戏中添加彩色字符。当我使用颜色模块时,它会破坏我的游戏。我可以避免这种情况吗?