在 Python 中将彩色文本打印到终端

我们可以用 Python 做许多令人兴奋的事情,让学习变得有趣、更愉快。其中之一是将彩色文本打印到终端。我们可以在文本中用不同的颜色来表示值。在这篇文章中我们讨论了 pythong 中的一些库可以帮助我们实现这个目标。

让我们通过以彩色文本打印结果来开始我们的多彩之旅。

使用“termcolor”的彩色文本

“termcolor”是一个 ANSI 转义序列,用于终端输出的颜色格式。 这些可让您为打印的文本添加颜色、彩色背景或装饰。这并没有做任何花哨的工作,它只是打印带有颜色和背景的文本。

安装

要使用这个包,我们首先需要使用 pip 命令安装它。

pip install termcolor

例子:

1
2
3
4
5
6
from termcolor import colored, cprint
 
print("Hello World!!!", 'red')
cprint("Hello World!!!", 'red')
print(colored("Hello World!!!", 'light_cyan'))
print(colored("Hello World!!!", 'green', attrs=['underline']))
  1. 从“ termcolor包中导入colorcprint
  2. 首先我们打印普通文本“”Hello World!!!”, ‘red’”
  3. 如前所述,cprint是termcolor库中的函数,用于以某种颜色打印输出。
  4. 彩色函数有两个参数:第一个是我们的文本,另一个是库提供的颜色
  5. 最后,我们提供带有绿色下划线的属性以及我们要应用它的文本。
术语颜色文本

在输出中,我们得到普通文本,其次,我们得到参数中提到的红色文本,然后,我们提供 light_cyan 颜色,最后,提供绿色下划线文本。

以下是可以使用的颜色、高光和属性。

颜色 红色、黑色、浅青色、绿色、品红色、白色等
强调 on_black、on_red、on_green、on_white 等
属性 粗体、深色、下划线、闪烁、反转和隐藏

使用“colorama”的彩色文本

colorama还用于在终端中显示颜色文本。它是一个跨平台的彩色终端文本。这也用于在控制台中以彩色格式呈现文本。有一些可用的格式常量可用于彩色文本、背景颜色和各种样式。

安装

安装该包以使用其功能和方法。

pip install colorama

例子

1
2
3
4
5
6
from colorama import Fore, Back, Style
 
print(Fore.YELLOW + "Yellow Mellow")
print(Back.CYAN + 'Yellow text with cyan background')
print(Style.RESET_ALL)
print('Normal Text')

在这段代码中,我们从colorama 库导入ForeBackStyle 代码如下:

  • 使用Fore.YELLOW打印一些红色文本,这会将文本颜色变成黄色
  • 然后在不重置文本颜色的情况下,以青色背景打印文本
  • 然后我们使用Style.RESET_ALL属性重置所有颜色和背景
  • 然后打印普通文本,不带任何颜色。
色彩文本 1

在输出中,我们可以看到带有颜色和背景的文本。还有更多可用的格式化常量。

前景色(文字颜色) 黑色、红色、绿色、黄色、蓝色、品红色、青色、白色、重置
背面(突出显示) 黑色、红色、绿色、黄色、蓝色、品红色、青色、白色、重置
风格 暗淡、正常、明亮、全部重置

您可以查看这个有趣的主题:Python Modules vs Python Packages


使用ANSI 的彩色文本

有一些 Python 模块特别适合显示彩色文本,ANSI 是一种用于颜色代码的无依赖性方法。ANSI 转义序列是带内信号,用于控制光标和颜色的位置、设置字体样式等等。让我们看一下如何使用 ANSI 将彩色文本打印到控制台。

例子

1
2
3
4
print("\033[0;32m Green Color\n")
print("\033[0;34m Blue Color\n")
print("\033[1;32;40m Bright Green \n")
print("\033[0;31m Red \033[0m\n")

在此代码中,我们使用 ANSI 转义序列打印颜色。

  • \033[  : 转义码如 \n
  • 1 : 1 为普通风格。
  • 32:绿色文本颜色代码。
  • 40m:黑色背景颜色。
  • \033[0:重置值
安西颜色

在输出中,我们可以根据我们选择的代码和颜色看到彩色文本。我们使用内置的 ANSI 得到结果。


结论

在本文中,我们学习了如何控制台彩色输出。我们使用“termcolor”、“colorama”和“ANSI”来获得所需的输出。在 termcolor 和 colorama 中,我们必须导入库才能使用其功能,而 ANSI 速度快且无需安装。这些用特定文本颜色表示数据的库可能会很有帮助。根据需要,红色可以用于警告,蓝色可以用于正确输入,依此类推。

您还可以查看:Python Pretty print JSON – A Complete Guide

参考

  1. 术语颜色
  2. 彩色马