python输出带颜色字体实例方法

yipeiwu_com6年前Python基础

在python开发的过程中,经常会遇到需要打印各种信息。海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了。   

当然了,控制台的展示效果有限,并不能像前段一样炫酷,只能做一些简单的设置。不过站在可读性的角度来看,已经好很多了。

书写格式:

开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m

注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;但是,建议按照默认的格式规范书写。

对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[***开头,\033[0m结尾。

-------------------------------------------
-------------------------------------------
字体色  |  背景色  |  颜色描述
-------------------------------------------
30  |  40  |  黑色
31  |  41  |  红色
32  |  42  |  绿色
33  |  43  |  黃色
34  |  44  |  蓝色
35  |  45  |  紫红色
36  |  46  |  青蓝色
37  |  47  |  白色
-------------------------------------------
-------------------------------
显示方式  |  效果
-------------------------------
0   |  终端默认设置
1   |  高亮显示
4   |  使用下划线
5   |  闪烁
7   |  反白显示
8   |  不可见
-------------------------------

数值表示的参数含义:

显示方式: 0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色: 30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋 红)、36(青色)、37(白色)
背景色: 40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋 红)、46(青色)、47(白色)

常见开头格式

\033[0m 默认字体正常显示,不高亮
\033[32;0m 红色字体正常显示
\033[1;32;40m 显示方式: 高亮 字体前景色:绿色 背景色:黑色
\033[0;31;46m 显示方式: 正常 字体前景色:红色 背景色:青色

\033[1;31m 显示方式: 高亮 字体前景色:红色 背景色:无

举例说明:

示例1:

print('\033[1;35;0m字体变色,但无背景色 \033[0m') # 有高亮 或者 print('\033[1;35m字体有色,但无背景色 \033[0m')
print('\033[1;45m 字体不变色,有背景色 \033[0m') # 有高亮
print('\033[1;35;46m 字体有色,且有背景色 \033[0m') # 有高亮
print('\033[0;35;46m 字体有色,且有背景色 \033[0m') # 无高亮

结果:

示例2:

print('\033[0;36m床前明月光,')
print('疑是地上霜。')
print('举头望明月,')
print('低头思故乡。\033[0m')

结果:

实例

以上就是本次介绍的全部先关知识点内容,感谢大家的阅读和对【听图阁-专注于Python设计】的支持。

相关文章

Python脚本实现自动发带图的微博

Python脚本实现自动发带图的微博

 要自动发微博最简单的办法无非是调用新浪微博的API(因为只是简单的发微博,就没必要用它的SDK了)。参考开发文档http://open.weibo.com/wiki/API...

高效使用Python字典的清单

字典(dict)对象是 Python 最常用的数据结构,社区曾有人开玩笑地说:"Python企图用字典装载整个世界",字典在Python中的重要性不言而喻,这里整理了几个关于高效使用字典...

Python RabbitMQ消息队列实现rpc

Python RabbitMQ消息队列实现rpc

上个项目中用到了ActiveMQ,只是简单应用,安装完成后直接是用就可以了。由于新项目中一些硬件的限制,需要把消息队列换成RabbitMQ。 RabbitMQ中的几种模式和机制比Acti...

Django 拆分model和view的实现方法

Django 拆分model和view的实现方法

在标准的dgango项目中,自动生成的目录结构会包括models.py和views.py两个文件,分别在里面写model的代码和controller的代码,但是所有的代码都写在一个文件里...

教你用一行Python代码实现并行任务(附代码)

Python在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题。常见的经典Python多线程、多进程教程多显得偏"重"。而且往往...