python實現設置終端特殊顯示

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 mode in STYLE['mode'].keys() else ''

    fore  = '%s' % STYLE['fore'][fore] if fore in STYLE['fore'].keys() else ''

    back  = '%s' % STYLE['back'][back] if back in STYLE['back'].keys() 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)


for idx in range(500):
    print('{} images have been cropped, {} images remain to be cropped'.format(UseStyle(str(idx + 1), mode='invert'),
                                                                               UseStyle(str(500 - (idx + 1)), mode='invert')))

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章