在Windows中, 名为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