利用Python控制终端打印字体的颜色和格式

简介: 利用Python控制终端打印字体的颜色和格式

利用Python控制终端打印字体的颜色和格式—操作详解(ANSI转义序列)
一、问题描述
二、ANSI转义序列
三、具体代码和显示效果(看懂这段代码,以后可随心控制字体的打印格式)
欢迎学习交流!
邮箱: z…@1…6.com
网站: https://zephyrhours.github.io/

一、问题描述
使用python编程时,改变控制台或终端中输出字体的颜色和格式,会显著提升代码质量,快速帮助我们定位问题和锁定重要输出。但是一般情况下,python控制台输出的字体默认为白色。具体如下:

在控制台打印很多相同的格式文字时,并不利于我们查找和定位想要的输出。

二、ANSI转义序列
下面简单讲一下ANSI转义序列,这里不重复讲述概念,想要了解ANSI转义序列是什么意思,可自行查找。举个简单例子来说:

\033[31m 是一个ANSI转义序列,它告诉终端将后续文本的颜色设置为红色;
\033[0m是另外一个ANSI转义序列,它告诉终端将后续文本的颜色重置为默认颜色;
总之,ANSI 转义序列是一种用于在控制台中输出格式化文本的标准,它由一系列以 ESC 开头的字符组成,后跟一个或多个参数和一个字母,以指示需要执行的操作。常见的指令字母包括 m、H、J、K、s 和 u,常见的参数包括 0-8、30-37 和 40-47。

下面给出一些简单的指令参数:

指令字母 操作
m 设置文本属性
H 设置光标属性
J 清除屏幕
K 清除行
s 保存光标位置
u 恢复光标位置
在参数中,分号用来分隔不同的参数,常见的参数包括:

参数 含义
0 关闭所有属性
1 设置粗体
2 设置弱化(半亮)
3 设置斜体
4 设置下划线
5 设置闪烁(慎用)
7 设置反显
8 设置消隐
30-37 设置前景色(字体颜色)
40-47 设置背景色
三、具体代码和显示效果(看懂这段代码,以后可随心控制字体的打印格式)
要在Python中打印特定的字体格式或颜色(控制台,终端),可以通过上面的ANSI转义序列来操作,下面给出设置前景色、设置背景色和设置显示方法的几种演示代码和效果,具体代码如下:

设置输出的前景色代码,也就是设置输出的显示字体代码:

输出前景色(字体颜色)

print('-----------------------------------------------------')
print('输出前景色(字体颜色):')
print("\033[30m This text is foreground black.\033[0m")
print("\033[31m This text is foreground red.\033[0m")
print("\033[32m This text is foreground green.\033[0m")
print("\033[33m This text is foreground yellow.\033[0m")
print("\033[34m This text is foreground blue.\033[0m")
print("\033[35m This text is foreground magenta.\033[0m")
print("\033[36m This text is foreground cyan.\033[0m")
print("\033[37m This text is foreground white.\033[0m")
1
2
3
4
5
6
7
8
9
10
11
具体效果如下:

设置输出的背景色代码:

输出背景色

print('-----------------------------------------------------')
print('输出背景色:')
print("\033[40m This text is background black.\033[0m")
print("\033[41m This text is background pink-red.\033[0m")
print("\033[42m This text is background dark-green.\033[0m")
print("\033[43m This text is background yellow-red.\033[0m")
print("\033[44m This text is background light-blue.\033[0m")
print("\033[45m This text is background pink.\033[0m")
print("\033[46m This text is background light-green.\033[0m")
print("\033[47m This text is background grey color.\033[0m")
1
2
3
4
5
6
7
8
9
10
11
具体效果如下:

设置输出的显示方式代码,具体如下:

输出显示方式

print('-----------------------------------------------------')
print(" This text is default.") # 默认白色
print("\033[0m This text is default.\033[0m") # 默认值

print("\033[1m This text is bold.\033[0m") # 加粗
print("\033[4m This text is underline.\033[0m") # 下划线
print("\033[5m This text is flicker.\033[0m") # 闪烁
print("\033[7m This text is reverse display.\033[0m") # 反显

前面加上2就是非XX

print("\033[22m This text is non bold.\033[0m") # 非粗体
print("\033[24m This text is non underline.\033[0m") # 非下划线
print("\033[25m This text is non flicker.\033[0m") # 非闪烁
print("\033[7m This text is non reverse display.\033[0m") # 非反显
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
具体效果如下:

其他的组合方式可以自行探索,通过组合不同的ANSI命令,即可获得不同的显示效果。

参考博客:

https://blog.51cto.com/u_16175460/9544346

相关文章
|
3月前
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
101 5
|
7月前
|
前端开发 计算机视觉 Python
浅蓝色代表什么颜色?——Python中的颜色表示与处理
本文介绍了浅蓝色在计算机图形和Web开发中的表示方法,包括RGB、十六进制和HSL三种常见格式,并详细说明了如何使用Python的Pillow和colorsys库来处理和转换这种颜色,最后给出了生成浅蓝色背景的CSS代码示例。
457 6
|
6月前
|
Python
Python格式
Python格式
61 5
|
7月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
192 1
|
8月前
|
数据可视化 测试技术 Linux
基于Python后端构建多种不同的系统终端界面研究
【10月更文挑战第10天】本研究探讨了利用 Python 后端技术构建多样化系统终端界面的方法,涵盖命令行界面(CLI)、图形用户界面(GUI)及 Web 界面。通过分析各种界面的特点、适用场景及关键技术,展示了如何使用 Python 标准库和第三方库(如 `argparse`、`click`、`Tkinter` 和 `PyQt`)实现高效、灵活的界面设计。旨在提升用户体验并满足不同应用场景的需求。
124 1
|
9月前
|
Python
在python终端中打印颜色的3中方式(python3经典编程案例)
这篇文章介绍了在Python终端中打印彩色文本的三种方式:使用`colorama`模块、`termcolor`模块和ANSI转义码。
169 8
|
10月前
|
Linux Python Windows
Python PDF文件转Word格式,只需要3秒(附打包)
Python PDF文件转Word格式,只需要3秒(附打包)
207 3
Python PDF文件转Word格式,只需要3秒(附打包)
|
8月前
|
PyTorch 算法框架/工具 数据格式
Python实用记录(八):不同格式之间的转换
本文介绍了Python中不同数据格式之间的转换方法,包括numpy数组与列表、字符串之间的转换,以及PyTorch张量与numpy数组之间的转换。
49 0
|
9月前
|
Python
7-21|Python加载plist格式文件
7-21|Python加载plist格式文件
|
9月前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式

推荐镜像

更多