📅  最后修改于: 2023-12-03 15:34:03.791000             🧑  作者: Mango
在编写Python程序时,我们可能需要将信息打印到终端上以供查看。但是,有时只是简单的黑白文本并不能很好地呈现信息。这时,我们就需要使用带有颜色的终端打印来突出重点,提高可读性。在本文中,我们将介绍如何在Python中使用颜色打印到终端上。
在介绍如何打印带颜色的终端信息之前,我们需要先了解ANSI转义序列是什么。简单来说,ANSI转义序列是一个特殊的控制字符序列,用于在终端上显示特殊的效果,比如修改文字颜色、背景色、粗体、下划线等。
ANSI转义序列通常以"\033["开头,后面跟着一些参数和控制字符来设置要显示的效果。下面是一些常用的ANSI转义序列:
在Python中,我们可以通过使用ANSI转义序列来打印带颜色的信息。下面是一个示例:
print('\033[31m' + 'Hello, world!' + '\033[0m')
在该示例中,我们使用"\033[31m"设置文本颜色为红色,使用"\033[0m"重置所有样式,并将要打印的文本放在中间。执行该语句后,我们会在终端上看到一段红色的文字。
为了方便起见,我们可以将打印带颜色的信息封装成一个函数,这样我们就可以在程序中多次使用。下面是一个封装好的函数:
def colored_print(text, color):
colors = {
'black': '\033[30m',
'red': '\033[31m',
'green': '\033[32m',
'yellow': '\033[33m',
'blue': '\033[34m',
'purple': '\033[35m',
'cyan': '\033[36m',
'white': '\033[37m',
}
if color not in colors:
color = 'white'
print(colors[color] + text + '\033[0m')
该函数接受两个参数:要打印的文本和要使用的颜色。我们将颜色名字映射成对应的ANSI转义序列,在打印文本时使用对应的转义序列来设置颜色。如果传入的颜色名字无法找到对应的转义序列,那么就使用白色。
下面是一个使用该打印函数的示例:
colored_print('Hello, world!', 'red')
colored_print('Hello, world!', 'green')
colored_print('Hello, world!', 'blue')
执行该示例代码后,我们会在终端上看到三段不同颜色的文字。效果如下:
到此,我们已经学习了如何在Python中使用ANSI转义序列打印带颜色的信息。通过打印带颜色的信息,我们可以更好地突出重点,提高信息的可读性和可视化,从而更好地编写高质量的Python程序。