Python打印彩色字体

Python在终端输出时,可以输出不同字体色/背景色/前景色。

打印带有字体颜色的格式为\033[显示方式;前景色;背景色m + 结尾部分:\033[0m

即便知道如此格式,很多人也烦恼于正常使用,因为颜色繁多,前景色/背景色/字体色几种容易弄乱。

为了解决此问题,并方便大家一一对应,编写方法,在打印时输入要打印的字符串和各种颜色的参数,如下:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

# 显示方式: 0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)、8(不可见)
displayModeList = [0, 1, 22, 4, 24, 5, 25, 7, 27, 8]

# 前景色: 30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋 红)、36(青色)、37(白色)
foregroundList = [30, 31, 32, 33, 34, 35, 36, 37]

# 背景色: 40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋 红)、46(青色)、47(白色)
backgroundList = [40, 41, 42, 43, 44, 45, 46, 47]


def colorPrint(string, displayMode=0, foreground="", background=""):
    if displayMode not in  displayModeList:
        displayMode = 0

    if foreground not in foregroundList:
        foreground = ""

    if background not in backgroundList:
        background = ""

    settingFormat = "{};{};{}".format(str(displayMode), str(foreground), str(background)).rstrip(";")

    # print("Format:%s"%settingFormat)

    colorFormat = "\033[{}m{}\033[0m".format(settingFormat ,string)
    print(colorFormat)


if __name__ == '__main__':
    # colorPrint('PyCharm', displayMode=1, foreground=32, background=44)
    colorPrint("I Love you", displayMode=0, foreground=33)

结果如下:
在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值