1. 程式人生 > >Python終端顯示彩色字元(封裝了Colored類)

Python終端顯示彩色字元(封裝了Colored類)

#coding:gbk
# ------------------------------------------------
#   python終端顯示彩色字元類,可以呼叫不同的方法
# 選擇不同的顏色.使用方法看示例程式碼就很容易明白.
# ------------------------------------------------
#
# 顯示格式: \033[顯示方式;前景色;背景色m
# ------------------------------------------------
# 顯示方式             說明
#   0                 終端預設設定
#   1                 高亮顯示
#   4                 使用下劃線
#   5                 閃爍
#   7                 反白顯示
#   8                 不可見
#   22                非粗體
#   24                非下劃線
#   25                非閃爍
#
#   前景色             背景色            顏色
#     30                40              黑色
#     31                41              紅色
#     32                42              綠色
#     33                43              黃色
#     34                44              藍色
#     35                45              紫紅色
#     36                46              青藍色
#     37                47              白色
# ------------------------------------------------
class Colored(object):
    # 顯示格式: \033[顯示方式;前景色;背景色m
    # 只寫一個欄位表示前景色,背景色預設
    RED = '\033[31m'       # 紅色
    GREEN = '\033[32m'     # 綠色
    YELLOW = '\033[33m'    # 黃色
    BLUE = '\033[34m'      # 藍色
    FUCHSIA = '\033[35m'   # 紫紅色
    CYAN = '\033[36m'      # 青藍色
    WHITE = '\033[37m'     # 白色

    #: no color
    RESET = '\033[0m'      # 終端預設顏色

    def color_str(self, color, s):
        return '{}{}{}'.format(
            getattr(self, color),
            s,
            self.RESET
        )

    def red(self, s):
        return self.color_str('RED', s)

    def green(self, s):
        return self.color_str('GREEN', s)

    def yellow(self, s):
        return self.color_str('YELLOW', s)

    def blue(self, s):
        return self.color_str('BLUE', s)

    def fuchsia(self, s):
        return self.color_str('FUCHSIA', s)

    def cyan(self, s):
        return self.color_str('CYAN', s)

    def white(self, s):
        return self.color_str('WHITE', s)

# ----------使用示例如下:-------------
color = Colored()
print color.red('I am red!')
print color.green('I am gree!')
print color.yellow('I am yellow!')
print color.blue('I am blue!')
print color.fuchsia('I am fuchsia!')
print color.cyan('I am cyan!')
print color.white('I am white')
顏色對比圖(根據需要自己設定對應的值):