Python colorama 设置控制台、命令行输出彩色文字

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Python colorama 设置控制台、命令行输出彩色文字

为了方便调试代码,经常会向stdout中输出一些日志,但是大量日志,有时不好定位问题。

使用终端打印特定颜色字符串,可以突出显示关键性的信息,帮助用户更好地识别和理解输出内容。

https://pypi.org/project/colorama/

Colorama 是为了在命令行界面中提供简单、方便的文本着色功能而设计的,通过使用 ANSI 转义序列来实现这一目的。它广泛应用于命令行工具开发、日志记录、调试输出等场景中,以提高可读性和用户体验。

Colorama 的主要功能:输出一种跨平台的ANSI转义序列,Terminal收到这种特殊的序列后并不直接显示ASCII字符,而是显示指定的颜色。

在大多数常规终端(如 Windows 中的 cmd.exe,Linux/macOS 中的终端)中,控制台输出的文本颜色和样式是通过 ANSI 转义序列实现的。跨平台解决方案colorama库封装了这些 ANSI 转义序列的复杂性,提供了一个简单的接口来设置和应用文本颜色、背景色和样式。

colorama模块的作用是:

  • 在Windows平台上添加ANSI转义字符的支持,因为Windows命令行默认不支持ANSI控制码
  • 提供了 Fore/Back/Style 等对象封装ANSI代码,使用更简单
  • 自动设置和关闭ANSI支持,不需要自己添加控制字符
  • 所以colorama的主要功能是让ANSI转义字符在Windows平台也可以工作,从而实现跨平台的颜色打印。
  • 它不是Python标准库,需要安装后导入使用。但几乎成为了彩色打印输出的标准方式

# 安装
pip install colorama
# 导入使用
# Fore:用于改变输出文本的颜色;
# Style:用于改变输出文本的亮度;
# Back:用于改变输出文本的背景(即突出显示文本)。
# BRIGHT:使得输出文本变亮
from colorama import Fore, Back, Style
print(Fore.RED + 'some red text' + Style.RESET_ALL)
print(Back.RED + Style.BRIGHT + "update xxx fail,please check it!xxx" + Style.RESET_ALL)

打印颜色组合

import colorama
from colorama import Fore, Back, Style
def main():
    # 初始化 colorama 模块
    colorama.init()
    # 日志信息
    log_message = "下发的数据: 12345"
    # 颜色组合示例
    color_combinations = [
        (Fore.GREEN, Back.WHITE),     # 绿色白底
        (Fore.BLUE, Back.YELLOW),     # 蓝色黄底
        (Fore.MAGENTA, Back.YELLOW),  # 紫色黄底
        (Fore.CYAN, Back.LIGHTBLACK_EX),  # 青色灰底,感觉这个效果不错
        (Fore.YELLOW, Back.RED)       # 黄色红底
    ]
    # 使用不同的颜色组合打印日志信息
    for foreground_color, background_color in color_combinations:
        logged_message = f"{foreground_color}{background_color}{log_message}{Style.RESET_ALL}"
        print(logged_message)
if __name__ == '__main__':
    main()

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
如何设置控制台由底部展示改为右侧位置
这篇文章介绍了如何在Sublime Text编辑器中将控制台从底部展示改为右侧位置,通过使用Package Control来安装相关的插件来实现界面布局的调整。
|
6天前
|
Linux 开发者 iOS开发
Python中使用Colorama库输出彩色文本
Python中使用Colorama库输出彩色文本
|
5天前
|
人工智能 小程序 API
文字转语音神器+Python编程搞定语音报时小程序
文字转语音神器+Python编程搞定语音报时小程序
11 2
|
6天前
|
API Python
使用Python requests库下载文件并设置超时重试机制
使用Python的 `requests`库下载文件时,设置超时参数和实现超时重试机制是确保下载稳定性的有效方法。通过这种方式,可以在面对网络波动或服务器响应延迟的情况下,提高下载任务的成功率。
21 1
|
7天前
|
Python
python在控制台打印爱心3-4
python在控制台打印爱心3-4
|
9天前
|
API 语音技术 开发者
用python实现文字转语音的5个较好用的模块
这篇文章介绍了五个Python模块:gtts、pyttsx3、baidu-aip、pywin32和speech,它们能够实现文本到语音的转换功能。
12 1
|
2月前
|
Shell 数据处理 开发者
|
2月前
|
移动开发 Java 编译器
什么是pyc文件,把python的py文件编译成pyc文件,把pyc文件反编译成py文件。以及python编译的如何设置不生成pyc文件
什么是pyc文件,把python的py文件编译成pyc文件,把pyc文件反编译成py文件。以及python编译的如何设置不生成pyc文件
31 1
|
2月前
|
机器学习/深度学习 人工智能 文字识别
轻松识别文字,这款Python OCR库支持超过80种语言
轻松识别文字,这款Python OCR库支持超过80种语言
|
2月前
|
Python Windows 内存技术
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
下一篇
无影云桌面