python设置文字输出颜色

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
@Time: 2018/5/5 20:43   
@Author: Jun Hong
"""

#   格式:\033[显示方式;前景色;背景色m
#   说明:
#
#   前景色            背景色            颜色
#   ---------------------------------------
#     30                40              黑色
#     31                41              红色
#     32                42              绿色
#     33                43              黃色
#     34                44              蓝色
#     35                45              紫红色
#     36                46              青蓝色
#     37                47              白色
#
#   显示方式           意义
#   -------------------------
#      0           终端默认设置
#      1             高亮显示
#      4            使用下划线
#      5              闪烁
#      7             反白显示
#      8              不可见
#
#   例子:
#   \033[1;31;40m    <!--1-高亮显示 31-前景色红色  40-背景色黑色-->
#   \033[0m          <!--采用终端默认设置,即取消颜色设置-->]]]


STYLE = {
    'fore': {  # 前景色
        'black': 30,
        'red': 31,
        'green': 32,
        'yellow': 33,
        'blue': 34,
        'purple': 35,  # 紫红色
        'cyan': 36,  # 青蓝色
        'white': 37
    },
    'back': {  # 背景色
        'black': 40,
        'red': 41,
        'green': 42,
        'yellow': 43,
        'blue': 44,
        'purple': 45,
        'cyan': 46,
        'white': 47,
    },
    'mode': {  # 显示模式
        'mormal': 0,  # 终端默认设置
        'bold': 1,  # 高亮显示
        'underline': 4,  # 使用下划线
        'blink': 5,  # 闪烁
        'invert': 7,  # 反白显示
        'hide': 8  # 不可见
    },
    'default': {'end': 0}
}


def UseStyle(string, mode='', fore='', back=''):
    mode = '%s' % STYLE['mode'][mode] if STYLE['mode'].__contains__(mode) else ''
    fore = '%s' % STYLE['fore'][fore] if STYLE['fore'].__contains__(fore) else ''
    back = '%s' % STYLE['back'][back] if STYLE['back'].__contains__(back) else ''
    style = ';'.join([s for s in [mode, fore, back] if s])
    style = '\033[%sm' % style if style else ''
    end = '\033[%sm' % STYLE['default']['end'] if style else ''
    return '%s%s%s' % (style, string, end)


# 用法示例如下:
print(UseStyle('这里是要输出的信息', fore='red', mode='underline', back='blue'))

  

猜你喜欢

转载自www.cnblogs.com/Black-rainbow/p/8996252.html