前言
当我们在写程式的时候有时候要回传变数或者一些资料时,偶尔会被列印出来密密麻麻的资讯给搞得晕头转向,与单调的黑白字体相比,彩色字体可以更好地区分不同的信息和提示,从而提高程式码的可读性和可维护性。在这边我想分享一个小撇步,可以不安装模组单纯使用python的print函式搭配ANSI转义序列去列印出彩色的字体!
ANSI转义序列
ANSI转义序列是一种用于控制输出的特殊字符序列,它可以让我们改变输出的字体颜色、背景颜色、效果等。在python中,我们可以使用ANSI转义序列来打印彩色字体。本人是使用pycharm开发程式,不同的IDE可能会有不同的效果,甚至可能会不支持使用ANSI转义序列。另外在某些情况下,可能需要在终端模拟器中启用颜色支持才能正常显示彩色字体。
接下来来看看如何使用ANSI转义序列吧,以下会提供一些ANSI转义序列的写法:
\033[0m:重置所有属性,包括颜色和背景色。\033[30m:设置字体颜色为黑色。\033[31m:设置字体颜色为红色。\033[32m:设置字体颜色为绿色。\033[33m:设置字体颜色为黄色。\033[34m:设置字体颜色为蓝色。\033[35m:设置字体颜色为洋红色。\033[36m:设置字体颜色为青色。\033[37m:设置字体颜色为白色。\033[40m:设置背景色为黑色。\033[41m:设置背景色为红色。\033[42m:设置背景色为绿色。\033[43m:设置背景色为黄色。\033[44m:设置背景色为蓝色。\033[45m:设置背景色为洋红色。\033[46m:设置背景色为青色。\033[47m:设置背景色为白色。
具体如何使用呢?首先\033[
代表ANSI转义序列的开头,在这之后可以增加不同的效果,每组数字都代表着一个效果,不同效果间可以直接使用数字标号后用;
隔开,这样就不用重複写\033[...
了。设定好后后面要加一个m
。有效果的字体输出完后最后记得要重製所有属性使字体变成默认输出。例如要设定字体颜色为红色,背景为黑色就可以写:
print('这是一般的字 \033[31;40m 这是字体颜色为红色,背景为黑色 \033[0m 这是重製所有属性变成一般的字了')
可以看到输出如下
另外也可以设定字体效果,目前我测试的效果如下:
0:默认1:粗体(但其实看起来没啥差别XD)3:斜体4:下底线7:反白(背景颜色跟字体颜色交换)9:删除线
用法如下,在最一开始先设定字体的效果,接着一样设定字体颜色为红色,背景为黑色:
print('\033[9;31;40m 这是字体颜色为红色,背景为黑色,还有删除线 \033[0m')
结语
以上是我在pycharm测试的ANSI转义序列的用法,各位在写程式时如果有需要依靠不同字体来标出重点的话都可以使用此方法~另外有测试出别的效果等也都欢迎讨论。这个效果也能让程式的输出有更多样化的选择,也能更方便的察看程式执行间的一些重要讯息!
有不清楚或者有错误也欢迎指正~