Python 给屏幕打印信息加上颜色的实现方法

时间:2022-09-12 18:49:47

语法

?
1
2
print('\033[显示方式;字体色;背景色m文本\033[0m')
# 三种设置都可以忽略不写,都不写则为默认输出

配置如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 字体 背景 颜色
# ---------------------------------------
# 30 40 黑色
# 31 41 红色
# 32 42 绿色
# 33 43 黄色
# 34 44 蓝色
# 35 45 紫红色
# 36 46 青蓝色
# 37 47 白色
#
# 显示方式
# -------------------------
# 0 终端默认设置
# 1 高亮显示
# 4 使用下划线
# 5 闪烁
# 7 反白显示
# 8 不可见

举几个例子

?
1
2
3
# 高亮显示,字体紫红色,背景白色
text = 'hello world'
print(f'\033[1;35;47m{text}\033[0m')

Python 给屏幕打印信息加上颜色的实现方法

?
1
2
3
# 默认显示,字体紫红色,背景白色
text = 'hello world'
print(f'\033[35;47m{text}\033[0m')

Python 给屏幕打印信息加上颜色的实现方法

?
1
2
3
# 默认显示,字体紫红色,背景默认
text = 'hello world'
print(f'\033[35m{text}\033[0m')

Python 给屏幕打印信息加上颜色的实现方法

往往我们更关注字体颜色,几个字体颜色效果如下,我用的 iterm2 的深色背景,效果会有点偏差

Python 给屏幕打印信息加上颜色的实现方法

如果你想看所有组合的颜色,可以查看这篇文章 go语言在linux环境下输出彩色字符

工具化

这个语法看起来还是很别扭的,平常使用我们可以封装起来。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: wxnacy(wxnacy@gmail.com)
from enum import enum
class color(enum):
 black = 30
 red = 31
 green = 32
 yellow = 33
 blue = 34
 magenta = 35
 cyan = 36
 white = 37
def print_color(text: str, fg: color = color.black.value):
 print(f'\033[{fg}m{text}\033[0m')
# 打印红色文字
print_color('hello world', fg = color.red.value)

总结

以上所述是小编给大家介绍的python 给屏幕打印信息加上颜色的实现方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

原文链接:https://wxnacy.com/2019/04/24/python-print-color/