python中颜色设置
实现过程:
终端的字符颜色使用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以ESC开头,即用\033来表示(ESC是ASCII码用十进制表示是27,用八进制表示就是033)
书写格式:
开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m
注意:开头部分的三个参数:显示方式、前景色、背景色是可选参数,但是必须要写一个。
由于三个参数不同含义的数值都是唯一的没有重复,所以参数的书写并没有顺序,系统都能够识别。
数值表示的参数含义:
前景色 | 背景色 | 颜色 |
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黄色 |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
显示方式的参数含义:
显示方式 | 意义 |
0 | 终端默认设置 |
1 | 亮度显示 |
4 | 使用下划线 |
5 | 闪烁 |
7 | 反显 |
8 | 不可见 |
实际情况如下:
#!/usr/bin/env python #字体颜色 print('\033[30m黑色字体\033[0m') print('\033[31m红色字体\033[0m') print('\033[32m绿色字体\033[0m') print('\033[33m黄色字体\033[0m') print('\033[34m蓝色字体\033[0m') print('\033[35m紫色字体\033[0m') print('\033[36m青色字体\033[0m') print('\033[37m白色字体\033[0m') print('------------分割线----------------') print('\033[40m黑色背景\033[0m') print('\033[41m红色背景\033[0m') print('\033[42m绿色背景\033[0m') print('\033[43m黄色背景\033[0m') print('\033[44m蓝色背景\033[0m') print('\033[45m紫色背景\033[0m') print('\033[46m青色背景\033[0m') print('\033[47m白色背景\033[0m')
结果:
还有一些特殊操作:
print('\033[0m默认亮度\033[0m') print('\033[1m高亮显示\033[0m') print('\033[4m下划线\033[0m') print('\033[5m闪烁\033[0m') print('\033[7m反取\033[0m') print('\033[8m不显示\033[0m')
执行结果:
一般都是三个参数都会设置,就像这样:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理