我尝试“着色”我的终端,但总是失败! 在 Atom Terminal 中它工作得完美,就像真的一样,在 Python 控制台中我得到了这个输出
←[95mColored Text
。这很奇怪,也许你们有想法。
我的代码
class color:
HEADER = '\033[95m'
BLUE = '\033[94m'
CYAN = '\033[96m'
GREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
choose= input(color.HEADER + "Colored Text")
请注意,所有终端或操作系统都支持相同的 ANSI 转义码颜色,并且并非所有语言都支持
\033[
作为控制序列引入器 (CSI)。您是否尝试过使用 CSI 的 \x1b[
、\u001b[
或 \u1b[
变体?
此外,建议每次您想要恢复为默认终端文本样式时使用
\033[0m
。否则,任何颜色或样式都可能溢出并进入其他终端消息。只是更新您的示例:
class color:
HEADER = '\033[95m'
OFF = '\033[0m'
choose = input(color.HEADER + "Colored Text" + color.OFF)
但是为什么要从头开始编写所有代码呢?有几个 Python 包可以解决你的问题。坦白说,我是 Colorist 包的作者。 Colorist 是轻量级且简洁的。只需使用
pip install colorist
安装软件包并参考 背景颜色选项。
前景色的其他选项:
from colorist import red
red("some text in red color")
有时你可能想要对终端样式有更多的控制,所以你也可以这样做:
from colorist import Color
print(f"Only {Color.CYAN}this part{Color.OFF} is in colour")