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

目录
  • 简介
  • 安装方式
  • 案例源码

简介

日常开发中,经常需要打印显示各种信息。海量的信息堆砌在控制台中,就会导致各种信息都显示在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上差异的字体颜色,那么就会更加显眼,增加使用者可阅读性。Colorama是一个python专门用来在控制台、命令行输出彩色文字的模块,可以跨平台使用。

字体打印的三种方式:

1、原生:推荐只处理一两句,临时使用的时候用原生。

2、colorama模块:使用的地方很多的时候,推荐使用这个,易读性更高。

3、termcolor模块:不推荐。

安装方式

pip install colorama
pip install termcolor

原生方式打印:33[显示方式;字体色;背景色m…[33[0m

设置环境变量

前景色 背景色 颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 蓝色
35 45 洋红
36 46 青色
37 47 白色

显示方式               意义

显示方式 意义
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终端打印字体颜色的资料请关注我们其它相关文章!

(0)

相关推荐

  • 在windows下Python打印彩色字体的方法

    本文讲述了Python在windows下打印彩色字体的方法.分享给大家供大家参考,具体如下: ################################################################# import ctypes STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE = -11 STD_ERROR_HANDLE = -12 FOREGROUND_BLACK = 0x0 FOREGROUND_BLUE = 0x01 # text

  • Python 打印自己设计的字体的实例讲解

    通过对 26 个字母的设定,设置自己要输出的字体. name = "RUNOOB" # 接收用户输入 # name = input("输入你的名字: \n\n") lngth = len(name) l = "" for x in range(0, lngth): c = name[x] c = c.upper() if (c == "A"): print("..######..\n..#....#..\n..###

  • Python如何在终端彩色打印输出

    目录 1.引言 2.工作原理 3.使用Colorama库 4.改变输出文本颜色 5.改变输出文本背景 6.改变输出文本亮度 7. 总结 1.引言 创建命令行程序很棒:命令行可以按照我们的设定完成相应的工作,相比GUI界面程序,无需花费数小时尝试使 GUI 正常工作.但有时最好有一个更吸引人的程序,而仅使用普通的打印功能是无法直接实现的. 一个很好的折衷方案是使用colorama库.这使我们可以非常轻松地为终端上输出的字符串着色,并且改善程序的界面外观. 闲话少说,接下来让我们看看如何使用它吧!

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

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

  • 详解Python如何实现输出颜色字体到终端界面

    目录 1. ANSI 转义序列 2. 配色方案 16 色 颜色设置 Colorama 一个颜色输出的模块 简单的变色函数 256色 在终端中,输出的字体总是单一颜色的,黑底白字.但是在一些场景并不能很好的满足输出的需求,比如在大量而快速输出中,输出一些提示性或者警告性的信息,普通的黑底白字输出可能或起不到作用. 本文将介绍如何输出颜色字体到终端界面中. 1. ANSI 转义序列 其实终端不仅能够显示程序的输出.它可以显示移动光标.为文本着色.清除整个屏幕,并且不仅仅是静态输出.比如颜色字体或者闪

  • 详解Python垃圾回收机制和常量池的验证

    Python的引入 人类认识世界是从认识世界中的一个又一个实物开始,然后再对其用语言加以描述.例如当中国人看到苹果时,便会用中文"苹果"加以描述,而用英语的一些国家则会用"apple"加以描述. 以上说到的中文和英文都是人类认识并描述世界的一个工具,而在计算机的世界中,为了让计算机去认知世界,从而帮助人类完成更多的任务.在计算机领域中也发展了语言这个工具,从早期的机器语言到汇编语言再到现在使用范围较广的高级语言.而我们接下来要介绍的Python则属于高级语言这一分支

  • 详解Python OpenCV数字识别案例

    前言 实践是检验真理的唯一标准. 因为觉得一板一眼地学习OpenCV太过枯燥,于是在网上找了一个以项目为导向的教程学习.话不多说,动手做起来. 一.案例介绍 提供信用卡上的数字模板: 要求:识别出信用卡上的数字,并将其直接打印在原图片上.虽然看起来很蠢,但既然可以将数字打印在图片上,说明已经成功识别数字,因此也可以将其转换为数字文本保存.车牌号识别等项目的思路与此案例类似. 示例: 原图 处理后的图 二.步骤 大致分为如下几个步骤: 1.模板读入 2.模板预处理,将模板数字分开,并排序 3.输入

  • 详解python网络进程

    目录 一.多任务编程 二.进程 三.os.fork创建进程 3.1.进程ID和退出函数 四.孤儿和僵尸 4.1.孤儿进程 4.2.僵尸进程 4.3.如何避免僵尸进程的产生 五.Multiprocessing创建进程 5.1.multiprocessing进程属性 六.进程池 七.进程间通信(IPC) 7.1.管道通信(Pipe) 7.2.消息队列 7.3.共享内存 7.4.信号量(信号灯集) 一.多任务编程 意义:充分利用计算机的资源提高程序的运行效率 定义:通过应用程序利用计算机多个核心,达到

  • 详解Python如何实现Excel数据读取和写入

    目录 1. 功能分析 2.系统开发环境 3.安装依赖库 4. 主函数设计 5.模块设计 1. 功能分析 1.加载文件夹内所有的Excel数据: 2.生产贡献度分析图表(以柱状图显示表格数据): 3.提起Excel表格中指定列数据: 4.定向筛选所需数据: 5.多表数据统计排行: 6.多表数据合并新excel文件. 2.系统开发环境 Anaconda3,在conda 中,window和ubuntu中的python功能一样 . pycharm. 3.安装依赖库 这些依赖包   都要装好 import

  • 一文详解Python中logging模块的用法

    目录 一.低配logging 1.v1 2.v2 3.v3 二.高配logging 1.配置日志文件 2.使用日志 三.Django日志配置文件 一.低配logging 日志总共分为以下五个级别,这个五个级别自下而上进行匹配 debug-->info-->warning-->error-->critical,默认最低级别为warning级别. 1.v1 import logging logging.debug('调试信息') logging.info('正常信息') logging

  • 详解Python 模拟实现生产者消费者模式的实例

    详解Python 模拟实现生产者消费者模式的实例 散仙使用python3.4模拟实现的一个生产者与消费者的例子,用到的知识有线程,队列,循环等,源码如下: Python代码 import queue import time import threading import random q=queue.Queue(5) #生产者 def pr(): name=threading.current_thread().getName() print(name+"线程启动......") for

  • 详解 Python 与文件对象共事的实例

    详解 Python 与文件对象共事的实例 Python 有一个内置函数,open,用来打开在磁盘上的文件.open 返回一个文件对象,它拥有一些方法和属性,可以得到被打开文件的信息,以及对被打开文件进行操作. >>> f = open("/music/_singles/kairo.mp3", "rb") (1) >>> f (2) <open file '/music/_singles/kairo.mp3', mode 'r

  • 详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

    详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别 os._exit() 和 sys.exit() os._exit() vs sys.exit() 概述 Python的程序有两中退出方式:os._exit(), sys.exit().本文介绍这两种方式的区别和选择. os._exit()会直接将python程序终止,之后的所有代码都不会继续执行. sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那

随机推荐