Python如何实现打印彩色输出的,方法原理是什么
Admin 2022-09-07 群英技术资讯 319 次浏览
创建命令行程序很棒:命令行可以按照我们的设定完成相应的工作,相比GUI界面程序,无需花费数小时尝试使 GUI 正常工作。但有时最好有一个更吸引人的程序,而仅使用普通的打印功能是无法直接实现的。
一个很好的折衷方案是使用colorama库。这使我们可以非常轻松地为终端上输出的字符串着色,并且改善程序的界面外观。
闲话少说,接下来让我们看看如何使用它吧!
这个库背后的实现原理非常简单,它通常使用 ANSA转义字符序列。当终端读取这些序列之一时,它并不会输出。当终端被指示为下一个输出时它采用之前设定的颜色进行相应的输出。
举例来说,字符串\033[92m
代表颜色绿色,字符串\033[0m
被用来将终端的颜色设置为标准的默认色(通常为黑色)。样例代码如下:
GREEN = '\033[92m' END_COLOR = '\033[0m' print(GREEN + "Hello World" + END_COLOR) print("Hello word 2022!")
上述代码输出如下:
现在我们明白了上述库的工作原理,接下来我们来使用它。首先是安装,还是使用pip直接进行安装,命令行如下:
pip install colorama
安装完成后,接着我们可以开始编码了。在脚本开头添加以下初始化代码是一种很好的编程写法(在windows系统中比如显示调用init函数):
from colorama import init init()
这用于确保 Windows 命令行正确处理 ANSA字符串序列。否则,它只会打印出字符序列。
如果您使用的是其他操作系统,此时init()函数将什么事情也不做,但是建议大家仍应该将其显式放入我们的程序中,以确保我们的程序可以在任何平台上正常工作。
现在我们可以开始来使用这个库了。主要分为三个子类:
Fore ,用于改变输出文本的颜色;Style,用于改变输出文本的亮度;Back,用于改变输出文本的背景(即突出显示文本)。
接着我们可以从改变文本的颜色开始,Colorama 允许我们使用八种不同的颜色:黑色(black)、红色(red)、绿色(green)、黄色(yellow)、蓝色(blue)、洋红色(magenta)、青色(cyan)、白色(white)。它们在 Fore 类中作为变量实现。他们的名字就是颜色的名字,全部大写。例如:
from colorama import Fore, init init() 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,这主要用于恢复文本的原始颜色。
接下来我们将介绍的类为Back
, 它实现了与Fore
类相同的九个关键字:BLACK、RED、GREEN、YELLOW、BLUE、MAGENTA、CYAN、WHITE、RESET。
此时在这种背景下,设置的颜色将用于更改输出文本的背景(即突出显示文本)。举例如下:
from colorama import Back, init init() 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')
输出如下:
最后,我们可以使用 Style
类来改变输出文本的亮度。该子类含有以下三个主要的关键字:
BRIGHT
使得输出文本变亮DIM
使得输出的文本变暗(尽管它看起来与普通文本相同)NORMAL
是的输出的文本变成正常的亮度
举例如下:
from colorama import Style, init init() print('Normal text') print(Style.BRIGHT + 'Bright text') print(Style.NORMAL + 'Normal text')
样例输出如下:
此外,该类还实现了 RESET_ALL 关键字,用于将所有内容(亮度、颜色、背景)重置为正常值。举例如下:
from colorama import Fore, Back, Style, init init() 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中使用Colorama
类来改变终端输出文字的颜色,亮度和背景,并针对每类情形都进行了举例阐明。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python内置函数-print() 函数。print() 方法用于打印输出,最常见的一个函数。
这篇文章主要给大家分享关于python字符串去除空格的内容。我们在处理Python代码字符串时,可能在字符串开头或结尾有空格,那么我们就要去除空格,下面小编整理了一些python字符串去除空格的方法,供大家参考。
Python内置函数-filter()函数。filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
Python中的continue语句将控制返回到当前循环的开头。当遇到continue语句时,循环将不执行当前迭代中剩余的语句,而直接下一次迭代开始。
本章中我们介绍了python3的使用,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008