相信大家都会在程序中使用print来输出程序运行状态等信息,有的人只打印重点信息导致除了自己谁也看不懂输出是啥意思, 这会导致大家想要用这个程序还要去看源代码,有的人打印的太多导致还没找到重点信息,下一条打印都打印出来了。
有了这个疑问我就思考,能不能使用颜色来醒目地标出重点信息,Google一下发现先贤们早就为我们想好了,基本上所有的终 端模拟器都支持这样做。
\033[显示方式;前景色;背景色m
其中 \033 是ESC健的八进制, \033[ 即告诉终端后面是设置颜色的参数,显示方式,前景色,背景色均是数字。
注:显示方式、前景色、背景色可以指定一到多个。
例如:
echo "Hello, \033[31mWorld" # world红色显示
如果使用Python的话:
下载 exmaples/e00.py
# -*- coding: utf-8 -*-from __future__ import absolute_import,unicode_literalsprint('Hello, \033[31mWorld')
有人说这也太麻烦了,每次我要打印一个字符串时还要 \033[ 一大堆,每次还要看文档,哪个值对应哪个颜色,我宁愿不显示颜色。
那么,恭喜你,你已经具备的科学家的素质。
主流语言都有对这个方式的包装,以Python为例,就有很多:
colorama
termcolor
...
termcolor是一个比较简单的实现:
下载 exmaples/e01.py
# -*- coding: utf-8 -*-from __future__ import absolute_import, unicode_literalsfrom termcolor import coloredprint('{}{}'.format(colored('Hello, ', 'green'), colored('world', 'red')))
文章中提及的代码请点击原文前往下载
欢迎关注