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

 更新时间:2024年06月28日 09:13:05   作者:独不懂  
使用python编程时,改变控制台或终端中输出字体的颜色和格式,会显著提升代码质量,快速帮助我们定位问题和锁定重要输出,但是一般情况下,python控制台输出的字体默认为白色,所以这篇文章给大家介绍了如何利用Python控制终端打印字体的颜色和格式,需要的朋友可以参考下

一、问题描述

使用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")

具体效果如下:

在这里插入图片描述

  • 设置输出的背景色代码:
# 输出背景色
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")

具体效果如下:

在这里插入图片描述

  • 设置输出的显示方式代码,具体如下:
# 输出显示方式
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")        # 非反显

具体效果如下:

在这里插入图片描述

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

到此这篇关于利用Python来控制终端打印字体的颜色和格式的文章就介绍到这了,更多相关Python终端字体颜色和格式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现的人工神经网络算法示例【基于反向传播算法】

    Python实现的人工神经网络算法示例【基于反向传播算法】

    这篇文章主要介绍了Python实现的人工神经网络算法,结合实例形式分析了Python基于反向传播算法实现的人工神经网络相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • python for循环如何实现控制步长

    python for循环如何实现控制步长

    这篇文章主要介绍了python for循环如何实现控制步长,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • keras 指定程序在某块卡上训练实例

    keras 指定程序在某块卡上训练实例

    这篇文章主要介绍了keras 指定程序在某块卡上训练实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 详解python 中in 的 用法

    详解python 中in 的 用法

    in在Python中是操作符,具体来说是成员操作符。这篇文章主要介绍了python 中in 的 用法,需要的朋友可以参考下
    2019-12-12
  • python调用摄像头的示例代码

    python调用摄像头的示例代码

    这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-09-09
  • Python实现轻松提取Word中的图片

    Python实现轻松提取Word中的图片

    Microsoft Word是广泛用于文档编辑和处理的工具,有时候,可能需要从Word文档中提取所有的图片,以进行后续的处理或分析,本文主要介绍了如何使用Python实现这一操作,需要的可以参考下
    2024-01-01
  • 中秋快到了利用 python 绘制中秋礼物

    中秋快到了利用 python 绘制中秋礼物

    眼看中秋又快到了,中秋回家,带什么礼物更让家人欢心?今天小编就利用python帮你带个对象回家,感兴趣的小伙伴赶快来看,要记得收藏起来以免迷路
    2021-09-09
  • Linux下安装python3.6和第三方库的教程详解

    Linux下安装python3.6和第三方库的教程详解

    这篇文章主要介绍了Linux下安装python3.6和第三方库的教程详解,需要的朋友可以参考下
    2018-11-11
  • 详解Python3迁移接口变化采坑记

    详解Python3迁移接口变化采坑记

    这篇文章主要介绍了详解Python3迁移接口变化采坑记,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • python json.dumps() json.dump()的区别详解

    python json.dumps() json.dump()的区别详解

    这篇文章主要介绍了python json.dumps() json.dump()的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论