python输出颜色(终端控制台)

news2024/12/28 21:05:47

python输出颜色(终端控制台)

  • 1、终端ANSI
  • 2、Python自带的函数库ctypes
  • 3、colorama

1、终端ANSI

更多查看 ECHOX.bat输出文本背景和文字颜色

其中特殊字符print("Black :[30m f0 [0m Black :[40m b0 [0m")即是print("Black :\033[30m f0 \033[0m Black :\033[40m b0 \033[0m")(特殊字符\033
PyCharm终端正常,cmd终端异常
在这里插入图片描述在这里插入图片描述

# coding=utf-8
if __name__ == '__main__':
    print("ANSI-Color")
    print(" ---Foreground---")
    print("30	Black   :\033[30mhello world!\033[0m")
    print("31	Red     :\033[31mhello world!\033[0m")
    print("32	Green   :\033[32mhello world!\033[0m")
    print("33	Yellow  :\033[33mhello world!\033[0m")
    print("34	Blue    :\033[34mhello world!\033[0m")
    print("35	Magenta :\033[35mhello world!\033[0m")
    print("36	Cyan    :\033[36mhello world!\033[0m")
    print("37	White   :\033[37mhello world!\033[0m")
    print(" ---Background---")
    print("40	Black   :\033[40mhello world!\033[0m")
    print("41	Red     :\033[41mhello world!\033[0m")
    print("42	Green   :\033[42mhello world!\033[0m")
    print("43	Yellow  :\033[43mhello world!\033[0m")
    print("44	Blue    :\033[44mhello world!\033[0m")
    print("45	Magenta :\033[45mhello world!\033[0m")
    print("46	Cyan    :\033[46mhello world!\033[0m")
    print("47	White   :\033[47mhello world!\033[0m")
    print(" ---Foreground;Background---")
    print("\033[30;40m 00 \033[30;41m 01 \033[30;42m 02 \033[30;43m 03 \033[30;44m 04 \033[30;45m 05 \033[30;46m 06 \033[30;47m 07 \033[0m")
    print("\033[31;40m 10 \033[31;41m 11 \033[31;42m 12 \033[31;43m 13 \033[31;44m 14 \033[31;45m 15 \033[31;46m 16 \033[31;47m 17 \033[0m")
    print("\033[32;40m 20 \033[32;41m 21 \033[32;42m 22 \033[32;43m 23 \033[32;44m 14 \033[32;45m 15 \033[32;46m 16 \033[32;47m 17 \033[0m")
    print("\033[33;40m 30 \033[33;41m 31 \033[33;42m 32 \033[33;43m 33 \033[33;44m 14 \033[33;45m 15 \033[33;46m 16 \033[33;47m 17 \033[0m")
    print("\033[34;40m 40 \033[34;41m 41 \033[34;42m 42 \033[34;43m 43 \033[34;44m 14 \033[34;45m 15 \033[34;46m 16 \033[34;47m 17 \033[0m")
    print("\033[35;40m 50 \033[35;41m 51 \033[35;42m 52 \033[35;43m 53 \033[35;44m 14 \033[35;45m 15 \033[35;46m 16 \033[35;47m 17 \033[0m")
    print("\033[36;40m 60 \033[36;41m 61 \033[36;42m 62 \033[36;43m 63 \033[36;44m 14 \033[36;45m 15 \033[36;46m 16 \033[36;47m 17 \033[0m")
    print("\033[37;40m 70 \033[37;41m 71 \033[37;42m 72 \033[37;43m 73 \033[37;44m 14 \033[37;45m 15 \033[37;46m 16 \033[37;47m 17 \033[0m")
    print("---Light;Foreground;Background---")
    print("\033[1;30;40m 00 \033[1;30;41m 01 \033[1;30;42m 02 \033[1;30;43m 03 \033[1;30;44m 04 \033[1;30;45m 05 \033[1;30;46m 06 \033[1;30;47m 07 \033[0m")
    print("\033[1;31;40m 10 \033[1;31;41m 11 \033[1;31;42m 12 \033[1;31;43m 13 \033[1;31;44m 14 \033[1;31;45m 15 \033[1;31;46m 16 \033[1;31;47m 17 \033[0m")
    print("\033[1;32;40m 20 \033[1;32;41m 21 \033[1;32;42m 22 \033[1;32;43m 23 \033[1;32;44m 14 \033[1;32;45m 15 \033[1;32;46m 16 \033[1;32;47m 17 \033[0m")
    print("\033[1;33;40m 30 \033[1;33;41m 31 \033[1;33;42m 32 \033[1;33;43m 33 \033[1;33;44m 14 \033[1;33;45m 15 \033[1;33;46m 16 \033[1;33;47m 17 \033[0m")
    print("\033[1;34;40m 40 \033[1;34;41m 41 \033[1;34;42m 42 \033[1;34;43m 43 \033[1;34;44m 14 \033[1;34;45m 15 \033[1;34;46m 16 \033[1;34;47m 17 \033[0m")
    print("\033[1;35;40m 50 \033[1;35;41m 51 \033[1;35;42m 52 \033[1;35;43m 53 \033[1;35;44m 14 \033[1;35;45m 15 \033[1;35;46m 16 \033[1;35;47m 17 \033[0m")
    print("\033[1;36;40m 60 \033[1;36;41m 61 \033[1;36;42m 62 \033[1;36;43m 63 \033[1;36;44m 14 \033[1;36;45m 15 \033[1;36;46m 16 \033[1;36;47m 17 \033[0m")
    print("\033[1;37;40m 70 \033[1;37;41m 71 \033[1;37;42m 72 \033[1;37;43m 73 \033[1;37;44m 14 \033[1;37;45m 15 \033[1;37;46m 16 \033[1;37;47m 17 \033[0m") 

2、Python自带的函数库ctypes

ctypes函数库Python 2.5引入,Python 标准库用来调用 C 代码的外来函数接口。
ctypes中如下代码:主要是 color是由2位十六进制组成,分别取0~f,前一位指的是背景色,后一位指的是字体色

(调用到dll库SetConsoleTextAttribute、GetStdHandle)

在这里插入图片描述在这里插入图片描述

# ! /usr/bin/env python
# coding=utf-8

import ctypes

# get handle
STD_INPUT_HANDLE = -10
STD_OUTPUT_HANDLE = -11
STD_ERROR_HANDLE = -12

std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)


def set_cmd_text_color(color, handle=std_out_handle):
    Bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)
    return Bool


# reset white
def resetColor():
    set_cmd_text_color(FOREGROUND_WHITE)


def printX(text, color):
    set_cmd_text_color(color)
    # sys.stdout.write(text)
    print(text)
    resetColor()


if __name__ == '__main__':
    printX("FOREGROUND_BLACK", 0x00)
    printX("FOREGROUND_DARKBLUE", 0x01)
    printX("FOREGROUND_DARKGREEN", 0x02)
    printX("FOREGROUND_DARKSKYBLUE", 0x03)
    printX("FOREGROUND_DARKRED", 0x04)
    printX("FOREGROUND_DARKPINK", 0x05)
    printX("FOREGROUND_DARKYELLOW", 0x06)
    printX("FOREGROUND_DARKWHITE", 0x07)
    printX("FOREGROUND_DARKGRAY", 0x08)
    printX("FOREGROUND_BLUE", 0x09)
    printX("FOREGROUND_GREEN", 0x0a)
    printX("FOREGROUND_SKYBLUE", 0x0b)
    printX("FOREGROUND_RED", 0x0c)
    printX("FOREGROUND_PINK", 0x0d)
    printX("FOREGROUND_YELLOW", 0x0e)
    printX("FOREGROUND_WHITE", 0x0f)
    printX("BACKGROUND_BLUE", 0x10)
    printX("BACKGROUND_GREEN", 0x20)
    printX("BACKGROUND_DARKSKYBLUE", 0x30)
    printX("BACKGROUND_DARKRED", 0x40)
    printX("BACKGROUND_DARKPINK", 0x50)
    printX("BACKGROUND_DARKYELLOW", 0x60)
    printX("BACKGROUND_DARKWHITE", 0x70)
    printX("BACKGROUND_DARKGRAY", 0x80)
    printX("BACKGROUND_BLUE", 0x90)
    printX("BACKGROUND_GREEN", 0xa0)
    printX("BACKGROUND_SKYBLUE", 0xb0)
    printX("BACKGROUND_RED", 0xc0)
    printX("BACKGROUND_PINK", 0xd0)
    printX("BACKGROUND_YELLOW", 0xe0)
    printX("BACKGROUND_WHITE", 0xf0)
    print("xhbruce")
    printX("BACKGROUND_YELLOW | FOREGROUND_RED", 0xe0 | 0x0c)

在这里插入图片描述在这里插入图片描述

3、colorama

colorama HomePage
colorama PyPI
在这里插入图片描述

Fore 字体颜色Back 字体背景颜色Style 字体格式
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET

LIGHTBLACK_EX, LIGHTRED_EX, LIGHTGREEN_EX, LIGHTYELLOW_EX, LIGHTBLUE_EX, LIGHTMAGENTA_EX, LIGHTCYAN_EX, LIGHTWHITE_EX
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET

LIGHTBLACK_EX, LIGHTRED_EX, LIGHTGREEN_EX, LIGHTYELLOW_EX, LIGHTBLUE_EX, LIGHTMAGENTA_EX, LIGHTCYAN_EX, LIGHTWHITE_EX
DIM, NORMAL, BRIGHT, RESET_ALL

Style.RESET_ALL重置前景、背景和亮度

# ! /usr/bin/env python
# coding=utf-8

from colorama import init, Fore, Back, Style

init(autoreset=True)

if __name__ == '__main__':
    print(Fore.RED + 'I am red!' + Fore.RESET)
    print(Fore.GREEN + 'I am gree!' + Fore.RESET)
    print(Fore.YELLOW + 'I am yellow!' + Fore.RESET)
    print(Fore.BLUE + 'I am blue!' + Fore.RESET)
    print(Fore.MAGENTA + 'I am magenta!' + Fore.RESET)
    print(Fore.CYAN + 'I am cyan!' + Fore.RESET)
    print(Fore.WHITE + 'I am white!' + Fore.RESET)
    print(Fore.WHITE + Back.GREEN + 'I am white green!' + Fore.RESET + Back.RESET)
    print(Style.BRIGHT + Fore.GREEN + "www.cndba.cn")
    print('xhbruce')
    print(Fore.RED + 'some red text')
    print('automatically back to default color again')

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/709525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.设计模式之后七种模式桥接装饰者组合外观享元代理模板

1.桥接模式 bridge(抽象类的实现的子类,通过聚合间接调用接口方法 就是桥) 实现和抽象分开,使他可以独立改变结构型设计模式基于类的最小设计原则(增加功能,增加最少个数的类),通过封装 聚合和继承让不同类实现不同职责 图 23桥接模式原理图 图 26桥接模式传统解决手机操作问题…

(六)Spring源码解析:Spring AOP源码解析

〇、AOP概念 Aspect:切面 给业务方法增加到功能,切面泛指交叉业务逻辑。上例中的事务处理、日志处理就可以理解为切面。常用的切面是通知(Advice)。实际就是对主业务逻辑的一种增强。 Pointcut:切入点 切入点指声明的…

Nerf-Wild神经辐射场论文学习笔记 Neural Radiance Fields for Unconstrained Photo Collections

前言: 本文为记录自己在Nerf学习道路的一些笔记,包括对论文以及其代码的思考内容。公众号: AI知识物语 B站讲解:出门吃三碗饭 本篇文章主要针对其数学公式来学习其内容,欢迎批评指正!!&#x…

10-C++学习笔记-字符串

📚 前言 字符串是在编程中广泛使用的数据类型,用于表示一系列字符。在C中,我们可以使用C风格字符串和string类来处理字符串操作。本篇学习笔记将详细介绍字符串的相关知识。 📖 1 C风格字符串 ✨ C风格字符串初始化 C风格字符…

什么是EMC存储 Clarrion存储的cache dirty或者cache lost(CACD)?

CACD是Cant assign, Cache Dirty的缩写,DELL EMC的专业术语。 在开始之前,先介绍下cache dirty的概念,朴素的语言就是有了脏数据,脏数据当然就是不能使用的数据了。为什么数据会脏呢?先从存储的基本概念聊起来。 为了加…

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

目前,随着各类 Layer2 空投不断内卷,越来越多的用户疲于参与其中(参与交互也很有可能难以获得空投资格)。Nautilus Chain 作为目前模块化 Layer3 架构链,在初期就明确了空投计划,即所有上线的应用都将会拿出…

各类农作物分布遥感监测数据大全

最近收集整理了大量的农作物分布的遥感监测数据,废话不多说,分享给大家,后面会持续更新!! 数据查看地址: https://www.dilitanxianjia.com/%e9%81%a5%e6%84%9f%e8%a7%a3%e8%af%91%e5%90%8e%e6%88%90%e6%9…

LeetCode 0002. 两数相加

【LetMeFly】2.两数相加 力扣题目链接:https://leetcode.cn/problems/add-two-numbers/ 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff…

2016年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

🏠个人主页:fo安方的博客✨ 💂个人简历:大家好,我是fo安方,考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。🐳 💕兴趣爱好:b站天天刷&…

华为OD机试真题 Java 实现【开心消消乐】【2023 B卷 100分】

目录 一、题目描述二、输入描述三、输出描述四、Java算法源码五、效果展示1、输入2、输出3、说明 一、题目描述 给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。矩阵示例如: 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 现需要将矩阵中所有的1进行反…

maven高级开发

分模块设计 例如 如果需要用到其他的模块,直接导入模块坐标就可以了 分模块开发,需建立的模块,选择maven模型 分模块设计需要先针对模块功能进行设计,再进行编码。 继承与聚合 继承:描述的是两个工程间的关系&…

UE4/5通过插件,用GeneratedDynamicMeshActor编辑静态网格到content中

目录 制作 直接复制下面代码到蓝图中粘贴即可: 效果1【用了第一个函数】: 效果2【用了第二个函数】: 制作 首先我们要打开插件: 然后继承GeneratedDynamicMeshActor进行创建: 我们制作一个函数,这个函数将…

Draw.io | 一款强大且支持在线编辑和导出的流程图绘制神器

目录 💌 写在前面 🖥️ 软件介绍 🖥️ 使用方式 1. Draw.io 的核心设计元素 1.1 绘图区 1.2 快速开始 2. Draw.io 的基本操作 2.1 移动、多选、复制与删除 2.2 创建链接 2.3 图形替换与旋转 3. 使用 Draw.io 绘制简单流程图 3.1 基本…

ChatGPT Plugins内幕、源码及案例实战(三)

ChatGPT Plugins内幕、源码及案例实战(三) ChatGPT Plugins内幕、源码及案例实战 6.4 ChatGPT Retrieval Plugin全流程内幕解析 以ChatGPT检索插件为例,我们讲解一下它整个的流程,让大家有一个比较明确、清晰的统一认知:  数据存储:设立的前提是你有文档,会有一些文…

大学教材征订管理系统数据库设计

摘 要 随着计算机及Internet迅速的发展,越来越多的行业实现了管理的信息化和自动化,教育行业也不例外。但在很多高校中,教材征订作为学校教学工作中很重要的一个环节还没完全实现信息化管理。因此本系统针对高校教材征订管理过程中人工管理存在的困难&a…

(02)Cartographer源码无死角解析-(67) 2D后端优化→FastCorrelativeScanMatcher2D -分支定界算法(BranchAndBound)1

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文…

Java——包(package)

一、Java中的包(package) 在Java中,包(package)是一种用于组织类和接口的命名空间的机制。它用于将相关的类和接口组织在一起,以便更好地管理和维护代码。 其实就是一个个文件夹 二、包(package)的作用 防止类和接口命名冲突&…

时间序列分解 | Matlab变分模态分解(VMD)的信号分解

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列分解 | Matlab变分模态分解(VMD)的信号分解 部分源码 %--------------------

尚硅谷Docker2022版学习笔记(基础篇 下)

目录 五、本地镜像发布到阿里云 5.1、本地镜像发布到阿里云流程 5.2、镜像的生成方法 基于当前容器创建一个新的镜像(第一种方法) DockerFile(第二种方法) 5.3、将本地镜像推送到阿里云 本地镜像素材原型 创建仓库镜像 选…