zoukankan      html  css  js  c++  java
  • Python 打印彩色字体

    实现:

    终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
    转义序列是以ESC开头,即用33来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。

    书写格式:

    开头部分:33[显示方式;前景色;背景色m
    结尾部分:33[0m
    完整格式: 33[显示方式;前景色;背景色m要打印的文字33[0m    如果有空格,空格也会打印出来

    注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;但是,建议按照默认的格式规范书写。
    对于结尾部分,其实也可以省略,但是省略后,如果打印了背景色,则整行都会有背景色(包括没有字体的部分),故为了书写规范,建议33[***开头,33[0m结尾。

    显示方式:
    显示方式: 0(默认值)、1(高亮,即加粗)、4(下划线)、7(反显)、
    前景色: 30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(梅色)、36(青色)、37(白色)
    背景色: 40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(梅色)、46(青色)、47(白色)

    开头格式:
    33[0m 默认字体正常显示,不高亮
    33[32;0m 红色字体正常显示
    33[1;32;40m 显示方式: 高亮 字体前景色:绿色 背景色:黑色
    33[0;31;46m 显示方式: 正常 字体前景色:红色 背景色:青色

    bash 字体颜色

    #!/bin/bash
    #
    #下面是字体输出颜色及终端格式控制
    #字体色30-37
    echo -e "33[30m黑色字33[0m"
    echo -e "33[31m红色字33[0m"
    echo -e "33[32m绿色字33[0m"
    echo -e "33[33m黄色字33[0m"
    echo -e "33[34m蓝色字33[0m"
    echo -e "33[35m紫色字33[0m"
    echo -e "33[36m天蓝字33[0m"
    echo -e "33[37m白色字33[0m"
    
    #字背景颜色范围:40-47
    echo -e "33[40;37m黑底白字33[0m"
    echo -e "33[41;30m红底黑字33[0m"
    echo -e "33[42;34m绿底蓝字33[0m"
    echo -e "33[43;34m黄底蓝字33[0m"
    echo -e "33[44;30m蓝底黑字33[0m"
    echo -e "33[45;30m紫底黑字33[0m"
    echo -e "33[46;30m天蓝底黑字33[0m"
    echo -e "33[47;34m白底蓝字33[0m"
    #.....
    
    
    #控制选项说明
    #33[0m关闭所有属性
    #33[1m设置高亮度
    #33[4m下划线
    echo -e "33[4;31m下划线红字33[0m"
    #闪烁
    echo -e "33[5;34m红字在闪烁33[0m"
    #反影
    echo -e "33[8m消隐33[0m "
    #
    
    
    
    #33[30m-33[37m设置前景色
    #33[40m-33[47m设置背景色
    #33[nA光标上移n行
    #33[nB光标下移n行
    echo -e "33[4A光标上移4行33[0m"
    
    #33[nC光标右移n行
    #33[nD光标左移n行
    #33[y;xH设置光标位置
    #33[2J清屏
    #33[K清除从光标到行尾的内容
    echo -e "33[K清除光标到行尾的内容33[0m"
    
    #33[s保存光标位置
    #33[u恢复光标位置
    #33[?25|隐藏光标
    #33[?25h显示光标
    echo -e "33[?25l隐藏光标33[0m"
    echo -e "33[?25h显示光标33[0m"
    
    
    #下面的这个例子是字体不停的闪烁。
    #!/bin/bash
    #
    a=30
    b=41
    while true
    do
    echo -e "33[${a}m光辉女郎33[0m"
    echo -e "33[${a}m的吗西亚33[0m"
    echo -e "33[${a}m洛克萨斯33[0m"
    a=$(($(($a%7))+30))
    b=$(($(($b%7))+40))
    #每次让字体颜色在30-37转换
    #每次让背景颜色在40-47转换
    echo -e "33[4A33[0m"
    done
    
  • 相关阅读:
    SpringMVC拦截器使用
    JavaCORBA
    Mybatis各语句高级用法(未完待续)
    [译文]C# Heap(ing) Vs Stack(ing) in .NET: Part II
    [译文]C# Heap(ing) Vs Stack(ing) in .NET: Part I
    iBatis连接MySQL时的注意事项
    MyBatis入门
    属性(property) VS 数据成员(field)
    [译文]C# Heap(ing) Vs Stack(ing) in .NET: Part III
    LINQ To Objects
  • 原文地址:https://www.cnblogs.com/g2thend/p/12207130.html
Copyright © 2011-2022 走看看