Python 如何给屏幕打印信息加上颜色

栏目: Python · 发布时间: 7年前

内容简介:以前写过配置如下举几个例子

以前写过 Go 如何给屏幕打印信息加上颜色 ,想当然的以为 Python 也一样,结果被打脸,他们的配置还是有一些区别的。

语法

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

配置如下

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

举几个例子

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

Python 如何给屏幕打印信息加上颜色

# 默认显示,字体紫红色,背景白色
text = 'Hello World'
print(f'\033[35;47m{text}\033[0m')

Python 如何给屏幕打印信息加上颜色

# 默认显示,字体紫红色,背景默认
text = 'Hello World'
print(f'\033[35m{text}\033[0m')

Python 如何给屏幕打印信息加上颜色

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

Python 如何给屏幕打印信息加上颜色

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

工具化

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

#!/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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

司法的过程

司法的过程

(美)亨利·J.亚伯拉罕 / 泮伟江 宦盛奎 韩阳 / 北京大学出版社 / 2009-07-28 / 58.00元

本书是以比较研究的方法来分析司法哲学的经典文本之一。作者以敏锐的眼光透视了司法过程背后的理论、实践和参与其中的人。比较了美国、英国、法国的具体法院运作,审视了“司法能动主义”和“司法克制主义”之间的争辩。本书第七版的介绍吸收了美国、英国、法国和欧洲法院体系运作中的最新和重要的发展。 目前国内非常关注司法的运作过程、法官的裁判过程,此书的翻译对于这方面的研究很有助益,对于英国和法国法院的介绍填补了国......一起来看看 《司法的过程》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具