Python如何在终端彩色打印输出
作者:赵卓不凡 发布时间:2022-03-10 19:56:35
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 init
init()
这用于确保 Windows 命令行正确处理 ANSA字符串序列。否则,它只会打印出字符序列。
如果您使用的是其他操作系统,此时init()函数将什么事情也不做,但是建议大家仍应该将其显式放入我们的程序中,以确保我们的程序可以在任何平台上正常工作。
现在我们可以开始来使用这个库了。主要分为三个子类:
Fore ,用于改变输出文本的颜色;Style,用于改变输出文本的亮度;Back,用于改变输出文本的背景(即突出显示文本)。
4.改变输出文本颜色
接着我们可以从改变文本的颜色开始,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,这主要用于恢复文本的原始颜色。
5.改变输出文本背景
接下来我们将介绍的类为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')
输出如下:
6.改变输出文本亮度
最后,我们可以使用 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')
输出如下:
7. 总结
本文重点介绍了在Python中使用Colorama
类来改变终端输出文字的颜色,亮度和背景,并针对每类情形都进行了举例阐明。
来源:https://blog.csdn.net/sgzqc/article/details/122770378


猜你喜欢
- 首先关键一句话:$(".js-example-tags").select2({ tags:
- ASP链接MSSQL2005的链接字符串如下:Provider=SQLNCLI;Server=.\SQLEXPRESS;Database=m
- <?php//===============================时间日期=========================
- 看了不少朋友的个人网站,有一个小问题,似乎很多朋友都忽略了,那就是版权声明的写法。虽然那只是一小行字,不过作为设计师也好,作为个人的爱好也好
- 对于python开发用户而言,经常需要安装一些python的第三方库,但是第三方库的安装经常出错,以下给大家介绍一下python安装第三方库
- 对于个人站长来说,如何能使自己的网站与众不同、充满个性,一直是不懈努力的目标。除了尽量提高页面的视觉效
- 新建项目如下图,比如sigma目录是我要上传的项目,在six-sigma目录下新建三个文件,分别是LICENSE也就是开源协议,README
- 我想要的结果无非是去掉URL路径中的index.php首先是配置.htaccess<IfModule mod_rewrite.c>
- 一、concat()函数功能:将多个字符串连接成一个字符串语法:concat(str1,str2,…) 其中的字符串既可以是数据表字段,也可
- 在操作sqlserver时候用到了substring函数 SUBSTRING ( expression, start, length ) 参
- 为了显示一个渐变而专门制作一个图片的做法是不灵活的,而且很快会成为一种不好的做法。但是遗憾的是,截至写这篇文章,可能还必须这样做,但是希望不
- 很多朋友对FrontPage2003中增加的网页布局功能很感兴趣,现在我们一起来深入了解这一实用功能。 用FrontPage200
- 一、前言其实,在开发过程中,虽然我们没有直接使用到描述符,但是它在底层却无时不刻地被使用到,例如以下这些:function、bound me
- 在写 Node.js 应用程序的时候,你确实可以把所有代码放在巨大原 index.js 文件中,不在乎你的应用程序会变得多大多复杂。Node
- 在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都
- 1、测试识别和运行文件识别:在给定的目录中,搜索所有test_.py或者_test.py文件用例识别:Test*类包含的所有test_*的方
- 安装方法一:①进入python文件夹执行指令(前提是支持pip指令):pip3 install Beautifulsoup4②回车待安装完成
- 在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread
- 一、前言容器使用沙箱机制,互相隔离,优势在于让各个部署在容器的里的应用互不影响,独立运行,提供更高的安全性。本文主要介绍python应用(d
- 摘要:本篇博客将详细介绍如何使用YOLOv5进行车牌识别模型的训练与评估。我们将搭建训练环境、准备数据、配置模型参数、启动训练过程,以及使用