Python如何在终端彩色打印输出

 更新时间:2022年02月03日 08:47:51   作者:赵卓不凡  
大家好,本篇文章主要讲的是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 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类来改变终端输出文字的颜色,亮度和背景,并针对每类情形都进行了举例阐明。

到此这篇关于Python如何在终端彩色打印输出的文章就介绍到这了,更多相关Python彩色打印输出内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python变量定义的简单使用介绍

    Python变量定义的简单使用介绍

    这篇文章主要介绍了Python变量定义的简单使用介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Python自动化办公之Excel拆分与自动发邮件

    Python自动化办公之Excel拆分与自动发邮件

    这篇文章主要何大家分享一个真实的自动化办公案例,即向用户发送带有Excel附件的电子邮件,同时必须按用户从主Excel文件中拆分数据以创建他们自己的特定文件,然后将该文件通过电子邮件发送给正确的用户,感兴趣的可以了解一下
    2022-03-03
  • Python MySQL查询限制方式详解

    Python MySQL查询限制方式详解

    MySQL是一款广泛使用的关系型数据库,而Python是一门流行的编程语言,在进行数据库操作时,二者的结合可以帮助我们更加高效地进行操作和管理,这篇文章主要介绍了Python MySQL查询限制,需要的朋友可以参考下
    2023-11-11
  • opencv实现简单人脸识别

    opencv实现简单人脸识别

    这篇文章主要为大家详细介绍了opencv实现简单人脸识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 通过Python实现自动填写调查问卷

    通过Python实现自动填写调查问卷

    这篇文章主要介绍了通过Python实现自动填写调查问卷的相关资料,需要的朋友可以参考下
    2017-09-09
  • Python小进度条显示代码

    Python小进度条显示代码

    今天小编就为大家分享一篇关于Python小进度条显示代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 详解Python的迭代器、生成器以及相关的itertools包

    详解Python的迭代器、生成器以及相关的itertools包

    这篇文章主要介绍了详解Python的迭代器、生成器以及相关的itertools包,Iterators、Generators是Python的高级特性,亦是Python学习当中必会的基本知识,需要的朋友可以参考下
    2015-04-04
  • 关于python的矩阵乘法运算

    关于python的矩阵乘法运算

    这篇文章主要介绍了关于python的矩阵乘法运算,矩阵是一个数字阵列,一个二维数组,n行r列的阵列称为n*r矩阵。如果n==r则称为方阵,需要的朋友可以参考下
    2023-04-04
  • Python打印详细报错日志logging问题

    Python打印详细报错日志logging问题

    这篇文章主要介绍了Python打印详细报错日志logging问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python处理mat文件的三种方式小结

    Python处理mat文件的三种方式小结

    这篇文章主要介绍了Python处理mat文件的三种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论