colorstr函数

YOLO中有个非常有意思的函数,可以给打印的字符串给予颜色。

 1 def colorstr(*input):
 2     # Colors a string https://en.wikipedia.org/wiki/ANSI_escape_code, i.e.  colorstr('blue', 'hello world')
 3     *args, string = input if len(input) > 1 else ('blue', 'bold', input[0])  # color arguments, string
 4     colors = {'black': '\033[30m',  # basic colors
 5               'red': '\033[31m',
 6               'green': '\033[32m',
 7               'yellow': '\033[33m',
 8               'blue': '\033[34m',
 9               'magenta': '\033[35m',
10               'cyan': '\033[36m',
11               'white': '\033[37m',
12               'bright_black': '\033[90m',  # bright colors
13               'bright_red': '\033[91m',
14               'bright_green': '\033[92m',
15               'bright_yellow': '\033[93m',
16               'bright_blue': '\033[94m',
17               'bright_magenta': '\033[95m',
18               'bright_cyan': '\033[96m',
19               'bright_white': '\033[97m',
20               'end': '\033[0m',  # misc
21               'bold': '\033[1m',
22               'underline': '\033[4m'}
23     return ''.join(colors[x] for x in args) + f'{string}' + colors['end']
24 
25 if __name__ == '__main__':
26     print(colorstr('bright_cyan', 'bold', '651651'))
27     print(colorstr('red', '651651'))

其通过的是在字符串之前和之后加入指定字符串的方式来赋予颜色,这一点可以在cmd中的python或者ipython中看到。

 

 换颜色也很简单,若输入的是单个字符串,则函数自动添加前面的两个参数,即blue和bold

因此,需要换颜色和粗体,只需要多输入几个参数在前面集合了,正如26和27行所示。

 

posted @ 2022-09-26 09:48  Anm半夏  阅读(249)  评论(0编辑  收藏  举报