01.Python输出文字改变颜色的方法

# Python输出文字改变颜色的方法

一、使用注释性输出

(一)、基本语法

\033[显示方式; 前景色; 背景色m******\033[0m
显示方式、前景色、背景色都为可选参数,选择自己需要的即可,而且顺序可变非固定,但建议按照默认顺序书写。
注:可添加在prince()的输出以及input()的提示性输出中使用

(二)、使用举例

print("\033[31m这是红色字体\033[0m")
print("\033[32m这是绿色字体\033[0m")
print("\033[33m这是黄色字体\033[0m")
print("\033[34m这是蓝色字体\033[0m")
print("\033[38m这是默认字体\033[0m")  # 大于37将显示默认字体

程序运行结果
程序运行结果

(三)、具体参数

前景色 背景色 颜色说明 具体颜色
30 40 白色 在这里插入图片描述
31 41 红色 在这里插入图片描述
32 42 绿色 在这里插入图片描述
33 43 黄色 在这里插入图片描述
34 44 蓝色 在这里插入图片描述
35 45 紫红色 在这里插入图片描述
36 46 青蓝色 在这里插入图片描述
37 47 黑色 在这里插入图片描述

特别注意:表格中的黑色与白色相对于控制台的颜色变换,如果控制台为黑色,30与40的颜色就为白色,否则就为黑色。简而言之37与47的颜色与控制台颜色一致,30与40的颜色与控制台颜色相反。

显示方式 显示效果
0 默认值
1 高亮
4 下划线
5 闪烁
7 反显
8 不可见

:语句最后加\033[0m为恢复默认,否则下面的输出字体都会被影响,举例如下:

print("\033[31m这是未恢复默认的例子")
print("程序运行开始")
print("程序运行结束")

程序运行结果
在这里插入图片描述
总结,该种方法使用方便,只需添加注释即可改变文字显示颜色及方式,但是参数过多,记忆容易出现偏差,而且,该种方法只限于控制台的输出改变颜色,不适用于生成的EXE文件的输出。下面介绍一种不需要记忆参数而且可适用于EXE文件输出的方法。

二、使用colorama第三方库输出

(一)、简介

Python的Colorama模块,可以跨多终端,显示字体不同的颜色和背景,只需要导入colorama模块即可,不用再每次都像上方注释性语句一样记忆过多的参数;

(二)、安装

pip install colorama

(三)、具体参数

Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Style: DIM, NORMAL, BRIGHT, RESET_ALL

各个颜色都与英文对应,使用时颜色必须要大写,先指定是颜色和样式是针对字体还是字体背景,然后再添加颜色,颜色就是英文单词指定的颜色,具体举例如下:

from colorama import Fore, Back, Style
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

程序运行结果:

我们可以发现,在设置字体为红色之后,下面的输出并未设置字体颜色,但还是输出了红色。直到设置了Style.RESET_ALL才恢复默认。
当然也有自动恢复的方法可以调用,那就是init(autoreset = True),具体使用如下:

from colorama import Fore, Back, Style, init
init(autoreset=True)
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

程序运行结果:
在这里插入图片描述
可以看到与上图的运行结果已经截然不同了,每一行都只是改变了当前行设置的一个颜色参数。
当然,该方法也同样适用于inpu()的提示性输出中,但值得一提的是,生成EXE文件在window中运行时,input()中使用的该方法就失效了,如有知道该怎么解决欢迎指导。

更多具体使用情况可以参考官方文档:colorama

你可能感兴趣的:(Python,python)