[Python] 详解Python如何在终端打印字体颜色

1956 0
Honkers 2022-11-9 16:03:52 | 显示全部楼层 |阅读模式
目录

    简介安装方式案例源码


简介

日常开发中,经常需要打印显示各种信息。海量的信息堆砌在控制台中,就会导致各种信息都显示在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上差异的字体颜色,那么就会更加显眼,增加使用者可阅读性。Colorama是一个python专门用来在控制台、命令行输出彩色文字的模块,可以跨平台使用。
字体打印的三种方式:
1、原生:推荐只处理一两句,临时使用的时候用原生。
2、colorama模块:使用的地方很多的时候,推荐使用这个,易读性更高。
3、termcolor模块:不推荐。

安装方式

pip install colorama
pip install termcolor
原生方式打印:33[显示方式;字体色;背景色m…[33[0m
设置环境变量
前景色背景色颜色
3040黑色
3141红色
3242绿色
3343黃色
3444蓝色
3545洋红
3646青色
3747白色
显示方式               意义
显示方式意义
0终端默认设置
1高亮显示
22非高亮显示
4使用下划线
24去下划线
5闪烁
25去闪烁
7反白显示
27非反显
8不可见
28可见
例如:
033[1;32;41m   # 1-高亮显示 32-前景色绿色  40-背景色红色---
33[0m          # 采用终端默认设置,即缺省颜色---
显示颜色格式:33[显示方式;字体色;背景色m......[33[0m
书写格式:
开头部分:33[显示方式;前景色;背景色m + 结尾部分:33[0m
解释:
开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;
由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;
建议按照默认的格式规范书写。
对于结尾部分,其实对后续输出信息的颜色样式定义,一般设置为系统默认,也可以省略,但是为了显示和书写规范,建议33[***开头,33[0m结尾。

案例源码

# -*- coding: utf-8 -*-
# time: 2022/10/3 10:30
# file: color.py
# 公众号: 玩转测试开发
import sys
from termcolor import colored, cprint
from colorama import Fore, Back, Style

def primal_print():
    # 通用格式:033[1;31m + mes + 033[0m
    mes1 = "我是红色"
    print("\033[1;31m" + mes1 + "\033[0m")

    mes2 = "我是绿色"
    print("\033[1;32m" + mes2 + "\033[0m")

    # 组合的方式:如 下划线 - 红色字体 - 背景黑色
    mes3 = "我是组合的方式"
    print("\033[4;31;40m" + mes3 + "\033[0m")

def termcolor_demo():
    text = colored('Hello, World!', 'red', attrs=['reverse', 'blink'])
    print(text)
    cprint('Hello, World!', 'green', 'on_red')

    print_red_on_cyan = lambda x: cprint(x, 'red', 'on_cyan')
    print_red_on_cyan('Hello, World!')
    print_red_on_cyan('Hello, Universe!')

    for i in range(3):
        cprint(str(i), 'magenta', end=' ')
    print()

def color_demo():
    # 字体颜色
    print(Fore.RED + "甲是红色")
    print(Fore.GREEN + "乙是绿色")
    print(Fore.BLUE + "丙是蓝色")

    # 重置设置,还原默认设置
    print(Style.RESET_ALL)

    # 字体背景色
    print(Back.RED + "A的背景色为红色")
    print(Back.GREEN + "B的背景色为绿色")
    print(Back.BLUE + "C的背景色为蓝色")

    # 重置设置,还原默认设置
    print(Style.RESET_ALL)

    # 字体加粗
    print(Style.BRIGHT + "字体加粗")

    # 组合
    print(Fore.RED + Back.GREEN + Style.BRIGHT + "绿底红字加粗")

    # 重置设置,还原默认设置
    print(Style.RESET_ALL + "普通字体")

if __name__ == '__main__':
    primal_print()
    print("*" * 80)
    termcolor_demo()
    print("*" * 80)
    color_demo()
执行结果:


本质上colorama和termcolor只是对源生的封装。
即:python打印终端字体格式,只处理一两句,临时使用的时候用源生,使用的地方很多的时候,推荐使用这个colorama模块,易读性更高。
以上就是详解Python如何在终端打印字体颜色的详细内容,更多关于Python终端打印字体颜色的资料请关注中国红客联盟其它相关文章!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

荣誉红客

关注
  • 4004
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行