一、背景介绍
在Python控制台中,输出的文字是以黑底白字的形式呈现的,可是在一些需要强调或区分的情况下,我们希望能用不同的颜色来显示文字,类似于Windows命令提示符中的效果,这时我们就需要使用Python实现控制台输出颜色的方法。
二、实现方法
1.使用ANSI转义序列实现
ANSI转义序列是一种控制字符,其以ESC字符(ASCII码为27)打头,用于在输出时改变文本的样式、颜色等,具体的转义序列和含义如下:
- \033[0m:重置所有属性
- \033[1m:设置高亮度
- \033[2m:设置低亮度
- \033[3m:设置斜体
- \033[4m:设置下划线
- \033[5m:设置闪烁
- \033[7m:设置反显
- \033[8m:设置隐藏
- \033[30m~\033[37m:设置前景色,分别对应黑、红、绿、黄、蓝、紫、青、白
- \033[40m~\033[47m:设置背景色,分别对应黑、红、绿、黄、蓝、紫、青、白
我们只需要在需要改变颜色的文本前后加上相应的ANSI转义序列即可,示例如下:
print('\033[31m' + '这是红色文字' + '\033[0m')
print('\033[32m' + '这是绿色文字' + '\033[0m')
上面的代码分别输出了红色和绿色的文字,其中\033[31m表示设置前景色为红色,\033[0m表示重置所有属性,使其后面的文本不再受颜色影响。
2.使用colored库实现
另一种实现控制台输出颜色的方法是使用colored库,该库提供了一系列简单易用的方法,用于设置文字样式、前景色、背景色等,具体如下:
- colored( text, color=None, on_color=None, attrs=None):设置文本的颜色和样式,text为文本内容,color为前景色,on_color为背景色,attrs为附加属性(如加粗、下划线等)
- fg( color ):设置前景色,color为颜色代码
- bg( color ):设置背景色,color为颜色代码
- attr( attr ):设置附加属性,attr为属性代码
颜色代码和属性代码可以通过colored库中预定义的常量进行选择,比如:
- 前景色:red, green, yellow, blue等
- 背景色:on_red, on_green, on_yellow, on_blue等
- 属性:bold, underline等
下面是使用colored库实现控制台输出颜色的示例:
from termcolor import colored
print(colored('这是红色文字', 'red'))
print(colored('这是绿色文字', 'green'))
print(colored('这是带有下划线的蓝色文字', 'blue', attrs=['underline']))
三、总结
以上两种方法都可用于实现控制台输出颜色,使用ANSI转义序列更为基础和灵活,而使用colored库则较为简单易用,根据实际需求选择合适的方法即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现控制台输出颜色 - Python技术站