Python怎么在终端彩色打印输出
这篇文章主要介绍了Python怎么在终端彩色打印输出的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么在终端彩色打印输出文章都会有所收获,下面我们一起来看看吧。
1.引言
创建命令行程序很棒:命令行可以按照我们的设定完成相应的工作,相比GUI界面程序,无需花费数小时尝试使 GUI 正常工作。但有时最好有一个更吸引人的程序,而仅使用普通的打印功能是无法直接实现的。
一个很好的折衷方案是使用colorama库。这使我们可以非常轻松地为终端上输出的字符串着色,并且改善程序的界面外观。
闲话少说,接下来让我们看看如何使用它吧!
2.工作原理
这个库背后的实现原理非常简单,它通常使用 ANSA转义字符序列。当终端读取这些序列之一时,它并不会输出。当终端被指示为下一个输出时它采用之前设定的颜色进行相应的输出。
举例来说,字符串\033[92m
代表颜色绿色,字符串\033[0m
被用来将终端的颜色设置为标准的默认色(通常为黑色)。样例代码如下:
GREEN = '\033[92m'END_COLOR = '\033[0m'print(GREEN + "Hello World" + END_COLOR)print("Hello word 2022!")
上述代码输出如下:
3.使用Colorama库
现在我们明白了上述库的工作原理,接下来我们来使用它。首先是安装,还是使用pip直接进行安装,命令行如下:
pip install colorama
安装完成后,接着我们可以开始编码了。在脚本开头添加以下初始化代码是一种很好的编程写法(在windows系统中比如显示调用init函数):
from colorama import initinit()
这用于确保 Windows 命令行正确处理 ANSA字符串序列。否则,它只会打印出字符序列。
如果您使用的是其他操作系统,此时init()函数将什么事情也不做,但是建议大家仍应该将其显式放入我们的程序中,以确保我们的程序可以在任何平台上正常工作。
现在我们可以开始来使用这个库了。主要分为三个子类:
Fore ,用于改变输出文本的颜色;Style,用于改变输出文本的亮度;Back,用于改变输出文本的背景(即突出显示文本)。
4.改变输出文本颜色
接着我们可以从改变文本的颜色开始,Colorama 允许我们使用八种不同的颜色:黑色(black)、红色(red)、绿色(green)、黄色(yellow)、蓝色(blue)、洋红色(magenta)、青色(cyan)、白色(white)。它们在 Fore 类中作为变量实现。他们的名字就是颜色的名字,全部大写。例如:
from colorama import Fore, initinit()print('Now is not colored')print(Fore.RED + 'some red text')print(Fore.GREEN + 'some green text')print(Fore.MAGENTA + 'some magenta text')print(Fore.RESET + 'Back to normal')
输出如下:
上述代码很容易实现,正如我们看到的,我们还使用了另一个变量RESET,这主要用于恢复文本的原始颜色。
5.改变输出文本背景
接下来我们将介绍的类为Back
, 它实现了与Fore
类相同的九个关键字:BLACK、RED、GREEN、YELLOW、BLUE、MAGENTA、CYAN、WHITE、RESET。
此时在这种背景下,设置的颜色将用于更改输出文本的背景(即突出显示文本)。举例如下:
from colorama import Back, initinit()print('Now is not highlighted')print(Back.RED + 'some red background')print(Back.GREEN + 'some green background')print(Back.MAGENTA + 'some magenta background')print(Back.RESET + 'Back to normal')
输出如下:
6.改变输出文本亮度
最后,我们可以使用 Style
类来改变输出文本的亮度。该子类含有以下三个主要的关键字:
BRIGHT
使得输出文本变亮DIM
使得输出的文本变暗(尽管它看起来与普通文本相同)NORMAL
是的输出的文本变成正常的亮度
举例如下:
from colorama import Style, initinit()print('Normal text')print(Style.BRIGHT + 'Bright text')print(Style.NORMAL + 'Normal text')
样例输出如下:
此外,该类还实现了 RESET_ALL 关键字,用于将所有内容(亮度、颜色、背景)重置为正常值。举例如下:
from colorama import Fore, Back, Style, initinit()print(Style.BRIGHT + 'Now the text is bright')print(Fore.RED + 'Now the text is bright and red')print(Back.GREEN + 'Now the text is bright, red and with green background')print(Style.RESET_ALL + 'Now everything is back to normal')
输出如下:
关于“Python怎么在终端彩色打印输出”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python怎么在终端彩色打印输出”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341