在Python开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,但是大量日志,有时不好定位问题。
使用终端打印特定颜色字符串,可以突出显示关键性的信息,帮助用户更好地识别和理解输出内容。
官方:https://pypi.org/project/colorama
官方:https://github.com/tartley/colorama
Colorama 是为了在命令行界面中提供简单、方便的文本着色功能而设计的,通过使用 ANSI 转义序列来实现这一目的。它广泛应用于命令行工具开发、日志记录、调试输出等场景中,以提高可读性和用户体验。
colorama的主要功能:输出一种跨平台的ANSI转义序列,Terminal收到这种特殊的序列后并不直接显示ASCII字符,而是显示指定的颜色。
在大多数常规终端(如 Windows 中的 cmd.exe,Linux/macOS 中的终端)中,控制台输出的文本颜色和样式是通过 ANSI 转义序列实现的。跨平台解决方案colorama库封装了这些 ANSI 转义序列的复杂性,提供了一个简单的接口来设置和应用文本颜色、背景色和样式。
colorama模块的作用是:
# 安装
pip install colorama
# 导入使用
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()