有关python 输出彩色字符,不按颜色显示的问题

2023-11-15

因工作需要,做了一些小程序,python有助于工作效率,能处理WORD、excel等常用办公文件。

在小程序中,往往为了提示,做一些提示,但提示一多,个别重要信息就无法起到作用,对于些重要的提示,想加一些颜色显示,找了N多的网站和帖子,大多数的解决方案其实是给了完善解决方案,但却忽略了一些重要的问题解决。

解决的方案是在print中加入\033,设定前景色、背景色和字体颜色。

如下代码:

print("\033[0;31;47m" + "默认模式,白底红字" + "\033[0m")
print("\033[5;34;43m" + "闪烁模式,黄底蓝字" + "\033[0m")
print('\033[1;35;0m字体变色,但无背景色 \033[0m')  # 有高亮 或者 print('\033[1;35m字体有色,但无背景色 \033[0m')
print('\033[1;45m 字体不变色,有背景色 \033[0m')  # 有高亮
print('\033[1;35;46m 字体有色,且有背景色 \033[0m')  # 有高亮
print('\033[0;35;46m 字体有色,且有背景色 \033[0m')  # 无高亮

在sublime中显示:

[0;31;47m默认模式,白底红字[0m
[5;34;43m闪烁模式,黄底蓝字[0m
[1;35;0m字体变色,但无背景色 [0m
[1;45m 字体不变色,有背景色 [0m
[1;35;46m 字体有色,且有背景色 [0m
[0;35;46m 字体有色,且有背景色 [0m

并没有颜色显示,编译成exe后,依旧没有效果。貌似不解决显示问题。经查找,是因为windows环境的问题,没有出现期望的结果,并且应是一个BUG,解决的方案也非常奇特,寻找这个方法,整整花去了我几天的时间。就是用os模块中的system运行一次空命令就完美解决。代码如下:

import os
os.system('')

需要说明的是,在sublime中显示:

[5;34;43m闪烁模式,黄底蓝字[0m
[1;35;0m字体变色,但无背景色 [0m
[1;45m 字体不变色,有背景色 [0m
[1;35;46m 字体有色,且有背景色 [0m
[0;35;46m 字体有色,且有背景色 [0m

依旧是如此的样子,编译成exe后,则会产生颜色的效果

 至此,问题完美解决。

为了测试一下,对于一些特殊的字符,如\t;\n是否有效,对代码加入

import os
os.system('')  #一定要加上个空语句,否则不显示

print("\033[0;31;47m" + "默认模式,\t白底\n红字" + "\033[0m")
print("\033[5;34;43m" + "闪烁模式,黄底蓝字" + "\033[0m")
print('\033[1;35;0m字体变色,但无\t\t\t背景色 \033[0m')  # 有高亮 或者 print('\033[1;35m字体有色,但无背景色 \033[0m')
print('\033[1;45m 字体不变色,有背\n景色 \033[0m')  # 有高亮
print('\033[1;35;46m 字体有色,且有背景色 \033[0m',end="")  # 有高亮
print('\033[0;35;46m 字体有色,且有背景色 \033[0m')  # 无高亮

print('\033[4;35;46m 字体有色,且有背景色 \033[0m',end="")  # 有高亮
print('\033[5;33;36m 字体有色,且有背景色 \033[0m')  # 无高亮

print('\033[7;35;46m 字体7反白有色,且有背景色 \033[0m',end="")  # 有高亮
print('\033[8;33;36m 字体8隐藏有色,且有背景色 \033[0m')  # 无高亮
print('\033[22;35;46m 字体22去高亮有色,且有背景色 \033[0m',end="")  # 有高亮
print('\033[24;33;36m 字体24去下划有色,且有背景色 \033[0m')  # 无高亮
print('\033[25;35;46m 字体25去闪烁有色,且有背景色 \033[0m',end="")  # 有高亮
print('\033[27;33;36m 字体27去反白有色,且有背景色 \033[0m')  # 无高亮
print('\033[28;35;46m 字体28去隐藏有色,且有背景色 \033[0m',end="")  # 有高亮
print('\033[8;33;36m 字体8隐藏有色,且有背景色 \033[0m')  # 无高亮
input('按任意键')

显示效果

 

 从以上显示中,\t \n end等字符是有相应效果的,

有关设置如下:

书写格式:
     开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m

其中\033为必须,  注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;但是,建议按照默认的格式规范书写。

     对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[***开头,\033[0m结尾。

毕竟是在文本模式下,print函数支持的彩色比较少,只有8种,如下表所示。

前景代码

背景代码

颜色

30

40

31

41

32

42

绿

33

43

34

44

35

45

36

46

37

47

print支持以下几种显示模式:

  • 0 - 默认
  • 1 - 高亮
  • 4 - 下划线
  • 5 - 闪烁
  • 7 - 反白
  • 8 - 隐藏
  • 22 - 去高亮
  • 24 - 去下划线
  • 25 - 去闪烁
  • 27 - 去反白
  • 28 - 去隐藏

\33[nA 光标上移n行 
\33[nB 光标下移n行 
\33[nC 光标右移n行 
\33[nD 光标左移n行 
\33[y;xH设置光标位置 
\33[2J 清屏 
\33[K 清除从光标到行尾的内容 
\33[s 保存光标位置 
\33[u 恢复光标位置 
\33[?25l 隐藏光标 
\33[?25h 显示光标。

用了清屏,显示是这样的,

 只把清屏前的显示擦除, 我不禁想,这就是在屏幕上画画呀。。。。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有关python 输出彩色字符,不按颜色显示的问题 的相关文章

随机推荐

  • oracle wait class user i/o,[ORACLE]管理方面的脚本收集

    1 查询AWR相关的视图名称 SELECT table name FROM dba tables t WHERE table name LIKE WRH AND NOT EXISTS SELECT x FROM dba tab column
  • 英文键盘盲打最快速练习口诀和方法

    下面我提供几种在新建的文档 如用于处理文字的word 里进行英文盲打的练习参考资料 以一天练习四个字母计算 最多7天你的盲打就基本练习成功了 下面的口诀 能帮助你快速记住键盘字母的排列顺序 爱上一个不爱回家的人 七 q 碗 w n 鹅 肉
  • Map遍历取值的五种方式

    方法1 Set set map keySet for Object o set System out println o map get o 方法2 Set set map keySet Iterator iterator set iter
  • 准备WebUI自动化测试面试?这30个问题你必须掌握(二)

    本文共有11000字 包含了后十五个问题 如需要前十五个问题 可查看文末链接 16 在WebUI自动化测试中 你如何处理验证码或图像识别的问题 1 人工识别 一种简单但费时费力的方法是使用人工手动识别验证码 测试人员可以手动输入验证码 将其
  • IntelliJ IDEA中谷歌打开页面,出现windows 找不到文件chrome

    1 右击桌面上的chrome浏览器图标 找到属性 gt 快捷方式 gt 目标 复制路径 即chrome浏览器 exe文件的路径 2 打开IntelliJ IDEA软件 找到file gt settings gt 找到Web Browsers
  • Java实现国密算法SM2,SM3,SM4,并且实现ECB和CBC模式

    代码中实现了电码本ECB模式和密文分组连接CBC模式 SM3 java和SM4 java为算法实现类 utils的都是根据实现类写的工具 可以根据需要调用杂凑算法SM3的杂凑功能获得杂凑值 SM4 java中 sm4 crypt ecb S
  • iOS objc_msgSend iOS too many arguments in function call 报错解决方案

    Build Settings gt 搜索 objc gt 设置 Enable Strict Checking of objc msgSend Calls 为 NO
  • [django项目] 利用elasticsearch实现搜索功能

    新闻搜索 I 搜索功能分析 本节我们来完成新闻搜索功能 首先让我们来思考一下 要做一个通过关键词搜索文章的功能 需要搜索哪些字段 以及使用什么技术方案呢 既然我们是准备做新闻博客网站 那我们就可以拿同类型网站的做一下对比 例如CSDN 简书
  • docker系列-搭建本地私有仓库-registry容器的各种坑

    总结的坑 a 关注daemon json的书写格式 一句话可以错好几个点 b tag要清楚的表示registry服务器的信息 才能push上传成功 不是可有可无的信息 c tag中有版本号要清楚的写上 系统自动补全的是用latest 搭建过
  • RPC

    RPC 远程过程调用 是什么 简单的说 RPC就是从一台机器 客户端 上通过参数传递的方式调用另一台机器 服务器 上的一个函数或方法 可以统称为服务 并得到返回的结果 RPC 会隐藏底层的通讯细节 不需要直接处理Socket通讯或Http通
  • 安卓pwn - De1taCTF(BroadcastTest)

    BroadcastTest 背景 逆向APK可知程序中仅有MainActivity Message和三个Receiver类 前者实现了一个Parcelable类 后三个则是广播 其中Receiver1是exported的 接收并向Recei
  • jsts 学习

    性能问题一直困扰了我很长的时间 今天听同事介绍了一个网站 感觉视角开阔了许多 一直做GIS开发 原来不只是java有jts包 原来javascript也有这样的一个包 叫做jsts 这个包的功能跟java里面的jts包差不多 前段提供空间关
  • Linux--信号

    文章目录 信号入门 生活角度的信号 技术应用角度的信号 注意 信号概念 使用kill l命令可以查看系统定义的信号列表 信号处理常见的方式 产生信号 1 通过终端按键产生信号 Core Dump 使用core dump进行事后调试 2 系统
  • How far away ? 【HDU - 2586】【在线LCA算法讲解】

    题目链接 做些LCA的算法 还是很提高代码能力的 这道题就是典型的LCA模板 所以用它来练一下我的LCA算法还是很好的 我们要求的是在一棵树上的任意两点的相互距离 既然在一棵树上 就可以直接调用LCA来解了 我们先任取一根节点 我取的是1
  • Tensorflow高级API

    本文个人博客地址 点击查看 一 Estimator 1 介绍 编程堆栈 Estimator 代表一个完整的模型 Estimator API 提供一些方法来训练模型 判断模型的准确率并生成预测 数据集 构建数据输入管道 Dataset API
  • ORA-01861错误

    ORA 01861 错误一般是日期 字符 数字类型互换时产生的错误 日期型数据有误或者安装Oracle时设置NLS DATE LANGUAGE为美国 或其他国家 也有可能导致ORA 01861错误 因为的日期写法有些不一样 亚洲是 RR M
  • Oracle数据库sql语句处理业务表重复数据取其一

    背景 在日常的工作中 我们会遇见一张表中存在重复的数据 这个重复的数据是指几个字段组成一个唯一索引的 但是因为在加工数据的过程中 会去掉这个唯一索引 但是在迁移到业务表中需要这个唯一索引 或者是业务要求等条件的 如下就演示了如何取其一 如下
  • css滚动条不占用宽度_CSS隐藏滚动条并可以滚动内容的几种方式

    前言 当我们的内容超出了我们的 div 往往会出现滚动条 影响美观 尤其是当我们在做一些导航菜单的时候 滚动条一出现就破坏了 UI 效果 我们不希望出现滚动条 也不希望超出去的内容溢出 就要保留鼠标滚动的效果 我们经常在前端开发中遇到这种情
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 有关python 输出彩色字符,不按颜色显示的问题

    因工作需要 做了一些小程序 python有助于工作效率 能处理WORD excel等常用办公文件 在小程序中 往往为了提示 做一些提示 但提示一多 个别重要信息就无法起到作用 对于些重要的提示 想加一些颜色显示 找了N多的网站和帖子 大多数