zoukankan      html  css  js  c++  java
  • Python输出有颜色的文字

     

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

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

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

      

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

      效果如图:

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

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    print('33[0m这是显示方式0')
    print('33[1m这是显示方式1')
    print('33[4m这是显示方式4')
    print('33[5m这是显示方式5')
    print('33[7m这是显示方式7')
    print('33[8m这是显示方式8')
    print('33[30m这是前景色0')
    print('33[31m这是前景色1')
    print('33[32m这是前景色2')
    print('33[33m这是前景色3')
    print('33[34m这是前景色4')
    print('33[35m这是前景色5')
    print('33[36m这是前景色6')
    print('33[37m这是前景色7')
    print('33[40m这是背景色0')
    print('33[41m这是背景色1')
    print('33[42m这是背景色2')
    print('33[43m这是背景色3')
    print('33[44m这是背景色4')
    print('33[45m这是背景色5')
    print('33[46m这是背景色6')
    print('33[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           可见 例: 33[1;32;41m #---1-高亮显示 32-前景色绿色 40-背景色红色--- 33[0m #---采用终端默认设置,即缺省颜色---

    *具体格式*:

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

    设置
    颜色开始 :33[显示方式;前景色;背景色m
    注:';'前后的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个或者某两个;由于表示三个参数不同含义的数值都是唯一没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都可识别;
    建议按照默认的格式规范书写
      
    实现过程:
     终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。转义序列是以ESC开头,即用33来完成(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('33[1;31;40m')     #下一目标输出背景为黑色,颜色红色高亮显示
    print('*' * 50)
    print('33[7;31m错误次数超限,用户已被永久锁定,请联系管理员!33[1;31;40m')  #字体颜色红色反白处理
    print('*' * 50)
    print('33[0m')
    
    

     效果

     

  • 相关阅读:
    【转】Java学习---HashMap的工作原理
    【转】Java学习---集合框架那些事
    Linux学习---linux下的彩蛋和各种有趣的命令
    【转】VMware虚拟机三种网络模式超详解
    沃顿商学院的MBA课程
    本杰明-富兰克林的13节制
    美学需要读的书
    芒格推荐书单
    回声消除(AEC)原理
    adc0和adc1
  • 原文地址:https://www.cnblogs.com/dingbj/p/12151893.html
Copyright © 2011-2022 走看看