python控制台打印彩色输出
2022/1/9 22:33:37
本文主要是介绍python控制台打印彩色输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在编写python程序的时候,在控制台输出的程序信息,如果能够进行彩色打印,不同信息类别按颜色进行打印,是一个很好的开发体验,那么python是如何在控制台中实现的呢?本案例会给你一个答案。
1. 彩色输出程序
def colored_print(): val1 = '\x1b[1;33;40m' + 'yellow color print' + '\x1b[0m' print(val1) print('normal print') val3 = '\033[0;32;40m' + 'green color print' + '\033[0m' print(val3) if __name__ == '__main__': colored_print()
运行程序输出效果如下图:
程序这里没有借助任何第三方应用库,全部是靠python自己实现,那么背后的原理是什么呢?
2. 彩色打印的原理分析
我们将python打印的内如,可以分割出如下3部分:
-
第一部分是设置要打印内容的颜色等样式
-
第二部分是要打印的内容
-
第三部分是设置新一轮的颜色字体样式,此处是恢复到默认样式
第一部分和第二部分格式本质上是一样的,这里我们就来分析其具体格式:
\x1b[1;33;40m
-
\x1b调用函数,也可以使用\033达到同样的目的
-
1;32;40这3部分以;分割,其中第一部分是命令,用来设置对应的属性,这里的1表示高亮显示;第二部分32,这里表示的是字体的颜色,33表示黄色;第三部分40这里表示的是字体的背景色,40为黑色。
-
m是函数名称,这里表示的是SGR(Select Graphics Rendition)函数。
2.1 命令属性
\033[0m 关闭所有属性 \033[1m 设置高亮度 \033[4m 下划线 \033[5m 闪烁 \033[7m 反显 \033[8m 消隐 \033[30m 至 \33[37m 设置前景色 \033[40m 至 \33[47m 设置背景色 \033[nA 光标上移n行 \033[nB 光标下移n行 \033[nC 光标右移n行 \033[nD 光标左移n行 \033[y;xH设置光标位置 \033[2J 清屏 \033[K 清除从光标到行尾的内容 \033[s 保存光标位置 \033[u 恢复光标位置 \033[?25l 隐藏光标 \033[?25h 显示光标
2.2 字体颜色
40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色
2.3 字体背景颜色
30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色
小结
通过本案例,我们知道了python进行控制台打印输出,靠的是通过特殊编码命令实现的,懂得了这个基础,我们就明白了诸如pprint和第三方类库termcolor的原理。
本文首发于个人公众号,如果想了解一手关于python的分享,可添加关注:
这篇关于python控制台打印彩色输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门