跳到主要内容

Python 程序:在终端打印彩色文本

要理解这个例子,你需要了解以下Python 编程主题的知识:

示例 1:使用 ANSI 转义序列

print('\x1b[38;2;5;86;243m' + 'mashangxue123' + '\x1b[0m')

输出

mashangxue123

上述代码行的工作原理如下图所示。

用于彩色终端的代码

让我们了解转义码 \x1b[38;2;5;86;243m

  • \x1b 调用一个函数。您也可以使用 \033 来实现相同的目的。
  • 38;2;r;g;b 用于设置 RGB 颜色。5;86;243 是蓝色的 rgb 颜色值(mashangxue123 标志的颜色)。
  • m 是函数名。在这里,m 表示 SGR(选择图形呈现)功能。

关于 ANSI 转义码的更多信息,你可以参考 ANSI 转义码

示例 2:使用 Python 模块 termcolor

from termcolor import colored

print(colored('mashangxue123', 'blue'))

输出

mashangxue123

使用 termcolor 模块,你可以得到期望的输出。此外,你可以使用这个模块设置文本的不同风格。

colored() 的第一个参数是文本,第二个参数是颜色。