首页 > 编程语言 > 详细

Python输出有颜色的文字

时间:2020-01-05 13:09:40      阅读:89      评论:0      收藏:0      [点我收藏+]

 

 

 我们在使用python运维与开发的过程中,经常需要打印显示各种信息。海量的信息堆砌在控制台中,就会导致各种信息都显示在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上差异的字体颜色,那么就会更加显眼,增加使用者可阅读性。 

  以前看别人写代码总是出现"\033[1;31m....................\033[0m"类似出现,以为颜色输出必须"\033[1;31m“开头,” \033[0m" 结尾构成一组,其实不然。实际"\033[1;31m....................\033[0m"意思表示“....................“引号里的内容显示打印一种颜色,结尾如果有输入的话显示另外一种颜色打印。

  例如我们先写一个简单的要求用户输入的例子来了解一下:

  

info = input("Please  Introduce yourself: ")
print(\033[1;33mWe asked him to introduce himself first.He said \" %s .\"\033[3;31m %info)
print(这行是上一行结尾的颜色输出效果 )

 

  效果如图:

技术分享图片

  如果只需要一种颜色我们就可以简单一点:  

技术分享图片
#!/usr/bin/env python
#-*- coding:utf-8 -*-
print(\033[0m这是显示方式0)
print(\033[1m这是显示方式1)
print(\033[4m这是显示方式4)
print(\033[5m这是显示方式5)
print(\033[7m这是显示方式7)
print(\033[8m这是显示方式8)
print(\033[30m这是前景色0)
print(\033[31m这是前景色1)
print(\033[32m这是前景色2)
print(\033[33m这是前景色3)
print(\033[34m这是前景色4)
print(\033[35m这是前景色5)
print(\033[36m这是前景色6)
print(\033[37m这是前景色7)
print(\033[40m这是背景色0)
print(\033[41m这是背景色1)
print(\033[42m这是背景色2)
print(\033[43m这是背景色3)
print(\033[44m这是背景色4)
print(\033[45m这是背景色5)
print(\033[46m这是背景色6)
print(\033[47m这是背景色7)
View Code

 

 Pytharm效果如图:

技术分享图片

  书写格式,和相关说明如下: 

说明:
前景色         背景色           颜色
---------------------------------------
30                40              黑色
31                41              红色
32                42              绿色
33                43              黃色
34                44              蓝色
35                45              洋红
36                46              青色
37                47              白色
显示方式               意义
----------------------------------
0                    终端默认设置
1                    高亮显示
22           非高亮显示 4 使用下划线
24           去下划线 5 闪烁
25           去闪烁 7 反白显示
27           非反显 8 不可见
28           可见 例: \033[1;32;41m #---1-高亮显示 32-前景色绿色 40-背景色红色--- \033[0m #---采用终端默认设置,即缺省颜色---

*具体格式*:

开头部分\033[显示方式;前景色;背景色m + 结尾部分:\033[0m

设置
颜色开始 :\033[显示方式;前景色;背景色m
注:‘;‘前后的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个或者某两个;由于表示三个参数不同含义的数值都是唯一没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都可识别;
建议按照默认的格式规范书写
  
实现过程:
 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。
 数值表示的参数含义:
 显示方式: 0(技术分享图片)、1(技术分享图片)、22(技术分享图片)、4(技术分享图片)、24(技术分享图片)、 5(技术分享图片)、25(技术分享图片)、7(技术分享图片)、27(技术分享图片、8(技术分享图片、28(技术分享图片
 前景色: 30(技术分享图片)、31技术分享图片、32技术分享图片、 33技术分享图片、34技术分享图片、35技术分享图片、36技术分享图片、37(技术分享图片
 背景色: 40技术分享图片、41技术分享图片、42技术分享图片、 43技术分享图片、44技术分享图片、45技术分享图片、46技术分享图片、47(技术分享图片
 
 实例
#!/usr/bin/env python
#-*- coding:utf-8 -*-
print(‘\033[1;31;40m‘)     #下一目标输出背景为黑色,颜色红色高亮显示
print(‘*‘ * 50)
print(‘\033[7;31m错误次数超限,用户已被永久锁定,请联系管理员!\033[1;31;40m‘)  #字体颜色红色反白处理
print(‘*‘ * 50)
print(‘\033[0m‘)

 效果

 技术分享图片

Python输出有颜色的文字

原文:https://www.cnblogs.com/dingbj/p/12151893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!