Python 如何让打印内容变得优雅(颜色打印)

文章目录

  • Python 如何让打印内容变得优雅(颜色打印)
    • 前言
    • 书写格式
    • 格式表
      • 对照表
      • 常见开头格式
    • 字体颜色更改
    • 字体底纹更改
    • 字体颜色+底纹更改
    • 为什么加结尾
    • 使用小技巧

前言

直接的print()打印输出的字体样式是大家最熟悉不过的,但有没有什么办法可以更改颜色等样式呢?答案是肯定的,我们能通过增加一部分代码来更改打印输出的样式,这样不仅能将打印输出的内容优雅的展示在控制台上,还能更好的区分打印的结果是哪段程序控制的。

书写格式

print(\033[显示方式;前景色;背景色m + 打印内容 + 结尾部分:\033[0m)

格式表

对照表

显示模式

显示方式 效果 效果展示
0 终端默认设置
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见

显示颜色

字体色 背景色 颜色描述
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 灰色
38 38 白色

常见开头格式

开头格式 格式描述
\033[0m 默认字体正常显示,不高亮,等同于平时直接print()的输出样式
\033[1;32m 绿色字体无底纹高亮显示
\033[1;32;47m 绿色字体白色底纹高亮显示
\033[1;31;46m 红色字体青蓝色底纹高亮显示
\033[4;32m 使用下划线绿色字体无底纹显示
\033[4;32;47m 使用下划线绿色字体白色底纹显示

字体颜色更改

print("\033[1;30m日照香炉生紫烟,遥看瀑布挂前川\033[0m")
print("\033[1;31m日照香炉生紫烟,遥看瀑布挂前川\033[0m")
print("\033[1;32m日照香炉生紫烟,遥看瀑布挂前川\033[0m")
print("\033[1;33m日照香炉生紫烟,遥看瀑布挂前川\033[0m")
print("\033[1;34m日照香炉生紫烟,遥看瀑布挂前川\033[0m")
print("\033[1;35m日照香炉生紫烟,遥看瀑布挂前川\033[0m")
print("\033[1;36m日照香炉生紫烟,遥看瀑布挂前川\033[0m")
print("\033[1;37m日照香炉生紫烟,遥看瀑布挂前川\033[0m")

显示效果

字体底纹更改

print("\033[1;40m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;41m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;42m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;43m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;44m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;45m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;46m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;47m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")

显示效果

由于没有添加字体颜色,直接指定底纹色后会默认以白色作为字体颜色,等同于\033[1;30;40m

字体颜色+底纹更改

print("\033[1;31;40m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;31;41m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;31;42m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;31;43m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;31;44m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;31;45m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;31;46m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")
print("\033[1;31;47m一代天骄,成吉思汗,只识弯弓射大雕\033[0m")

显示效果

为什么加结尾

至于为什么要加结尾,这个理由也很简单,开头部分:\033[显示方式;前景色;背景色m将输出样式更改,但更改后的样式可不会在下次自己改回去,我们在打印输出完后如果不加上结尾部分:\033[0m,就会出现下面的情况

print("\033[1;32m日照香炉生紫烟,")
print("遥看瀑布挂前川。")
print("飞流直下三千尺,")
print("疑是银河落九天。")
print("\033[0m")

原本只是想第一句日照香炉生紫烟变换颜色,结果下面打印的内容都变换了颜色

当然如果是故意这样就另当别论,可一般来说,在变换完打印样式之后都会把结尾加上

使用小技巧

一般来说每打印输出内容总是要敲\033…的格式非常麻烦,有没有什么方法只用敲一次输出格式也能在不同地方的代码打印也用上呢?很简单,写在函数里定义这个功能就行了。

def print_c(data, color=32):"""颜色样式打印输出功能:param data: 打印内容:param color: 指定颜色, 默认为绿色(32):return:"""if isinstance(color, int):color = str(color)print(f"\033[1;{color}m{data}\033[0m")print_c("颜色样式打印输出功能")

显示效果

Python 如何让打印内容变得优雅(颜色打印)相关推荐

  1. Android官方开发文档Training系列课程中文版:打印内容之自定义文档打印

    原文地址:http://android.xsoftlab.net/training/printing/custom-docs.html 对于一些应用,比如绘图类APP,版面设计类APP以及其它APP, ...

  2. Android官方开发文档Training系列课程中文版:打印内容之HTML文档打印

    原文地址:http://android.xsoftlab.net/training/printing/html-docs.html 在Android中打印内容要比打印照片要复杂一些,它要求将文本与图像 ...

  3. python打印小票_PyQt5中使用Qprinter打印热敏小票

    在<PyQt5中使用QWebChannel和内嵌网页进行js交互>一文中,我记录了如何使用QWebchannel与内嵌网页进行js交互,其根本目标在于使用Qt5调起打印机服务.在这篇文章中 ...

  4. 打印Excel工作表时忽略打印区域

    当我们在Excel工作表中设置了打印区域后,Excel默认将只打印这些区域.如果此时要打印整个工作表,在Excel 2003中必需先取消打印区域,然后再进行打印.而在Excel 2007中,可以不必取 ...

  5. python tkinter按键显示打印内容

    python GUI设计:tkinter菜鸟编程 ch4 ch4_1 代码练习 python gui 点击按键按下后显示需要打印的内容 #!/usr/bin/env python3 # -*- cod ...

  6. Python好书推荐《Python代码整洁之道》——编写优雅的代码

    前言 Python是当今最流行的语言之一.相对较新的领域如数据科学.人工智能.机器人和数据分析,以及传统的专业如Web开发和科学研究等,都在拥抱Python.随着时间的推移,Python有可能会发展成 ...

  7. python变量与常量内容:

    ''' python变量与常量内容: ''' # 变量:定义世间万物变化的状态''' height 180 weight 140 age 18 tree_name yuyang '''# print( ...

  8. 弄懂这56个Python使用技巧,秒变Python大神!

    1. 枚举 - enumerate 可以有参数哦 之前我们这样操作: i = 0for item in iterable: print i, item i += 1 现在我们这样操作: for i, ...

  9. Python 匹配字符串开头内容与结尾内容(startswith与endswith)

    1 Python startswith() 与 endswith 描述 startswith() 方法 : 用于判断字符串是否以指定后缀开头,如果以指定后缀开头返回True,否则返回False end ...

最新文章

  1. 如何让Android对话框全屏 Dialog 全屏
  2. 路由器漏洞:***展示如何攻陷百万台
  3. 【C/C++12】天气APP:不同数据建表入表,数据交换(exptables.cpp,ftpputfiles.cpp)
  4. 深入理解select、poll和epoll及区别
  5. 《架构之美》阅读笔记四
  6. laravel mysql pdo,更改Laravel中的基本PDO配置
  7. linux bc命令全称,Linux bc 命令
  8. 【十】JDBC:使用 jmeter 批量在数据库创建 1 万多条数据;批量删除重复数据
  9. jquery按需加载js和css插件使用说明
  10. Echarts数据可视化series-scatter散点图,开发全解+完美注释
  11. 第四章——变换域处理方法
  12. 深入理解设计模式-设计模式分类与关系
  13. 关于向社会公开征求 深圳市住房公积金贷款管理暂行规定 (征求意见稿)意见的通知
  14. Azure School女神相邀,把每分钟都过的更充实
  15. 升级wireshark支持openflow13抓包
  16. 选择高防空间应该注意什么?
  17. html字体下划线下移,CSS下划线与文字间距距离设置(CSS文字下划线距离设置)
  18. Adobe CEP 常用宿主事件名
  19. PHP网约车H5打车系统源码 分为乘客端和司机端
  20. 数字逻辑笔记4逻辑代数的基本定理和规则

热门文章

  1. ArcMap:第一届全国大学生GIS应用技能大赛(滁州学院)详解-上午题
  2. Origin(Pro):3D图-投影、垂线、标签
  3. oracle高效插入数据,Oracle:高效插入大量数据经验之谈
  4. 推荐两本有关经济学的书籍
  5. unigui手机拍摄身份证识别
  6. 人民日报评论:崇尚奋斗 不等于强制996
  7. os.listdir()和os.listdir(“c:“)
  8. WEB前端开发简易网页制作
  9. SPI(Service Provider Interface)
  10. 三年磨一剑,高德地图体验优化总结