我们在使用python运维与开发的过程中,经常需要打印显示各种信息。海量的信息堆砌在控制台中,就会导致各种信息都显示在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上差异的字体颜色,那么就会更加显眼,增加使用者可阅读性。

  以前看别人写代码总是出现"\033[1;31m....................\033[0m"类似出现,以为颜色输出必须"\033[1;31m“开头,” \033[0m" 结尾构成一组,其实不然。实际"\033[1;31m....................\033[0m"意思表示“....................“引号里的内容显示打印一种颜色,结尾如果有输入的话显示另外一种颜色打印。

  例如我们先写一个简单的要求用户输入的例子来了解一下:

  

info = input("Please  Introduce yourself: ")
print('\033[1;33mWe asked him to introduce himself first.He said \" %s .\"\033[3;31m' %info)
print('这行是上一行结尾的颜色输出效果 ')

  效果如图:

  如果只需要一种颜色我们就可以简单一点:  

#!/usr/bin/env python
#-*- coding:utf-8 -*-
print('\033[0m这是显示方式0')
print('\033[1m这是显示方式1')
print('\033[4m这是显示方式4')
print('\033[5m这是显示方式5')
print('\033[7m这是显示方式7')
print('\033[8m这是显示方式8')
print('\033[30m这是前景色0')
print('\033[31m这是前景色1')
print('\033[32m这是前景色2')
print('\033[33m这是前景色3')
print('\033[34m这是前景色4')
print('\033[35m这是前景色5')
print('\033[36m这是前景色6')
print('\033[37m这是前景色7')
print('\033[40m这是背景色0')
print('\033[41m这是背景色1')
print('\033[42m这是背景色2')
print('\033[43m这是背景色3')
print('\033[44m这是背景色4')
print('\033[45m这是背景色5')
print('\033[46m这是背景色6')
print('\033[47m这是背景色7')

 Pytharm效果如图:

  书写格式,和相关说明如下:

说明:
前景色 背景色 颜色
---------------------------------------
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 蓝色
35 45 洋红
36 46 青色
37 47 白色
显示方式   意义
----------------------------------
0 终端默认设置
1 高亮显示
22           非高亮显示
4 使用下划线
24           去下划线
5 闪烁
25           去闪烁
7 反白显示
27           非反显
8 不可见
28           可见 例:
\033[1;32;41m #---1-高亮显示 32-前景色绿色 40-背景色红色---
\033[0m #---采用终端默认设置,即缺省颜色---

*具体格式*:

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

设置
颜色开始 :\033[显示方式;前景色;背景色m
注:';'前后的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个或者某两个;由于表示三个参数不同含义的数值都是唯一没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都可识别;
建议按照默认的格式规范书写
  
实现过程:
 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。
 数值表示的参数含义:

 显示方式: 0()、1()、22()、4()、24()、 5()、25()、7()、27()、8()、28(
 前景色: 30()、31()、32()、 33()、34()、35()、36()、37(
 背景色: 40()、41()、42()、 43()、44()、45()、46()、47(
 
 实例
#!/usr/bin/env python
#-*- coding:utf-8 -*-
print('\033[1;31;40m') #下一目标输出背景为黑色,颜色红色高亮显示
print('*' * 50)
print('\033[7;31m错误次数超限,用户已被永久锁定,请联系管理员!\033[1;31;40m') #字体颜色红色反白处理
print('*' * 50)
print('\033[0m')

 效果

 

Python输出有颜色的文字的更多相关文章

  1. python 控制台输出带颜色的文字的方法

    python_控制台输出带颜色的文字方法   在python开发的过程中,经常会遇到需要打印各种信息.海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性.这时候,如果能给重要的信 ...

  2. Python如何输出带颜色的文字方法

    我们在使用python运维与开发的过程中,经常需要打印显示各种信息.海量的信息堆砌在控制台中,就会导致各种信息都显示在一起,降低了重要信息的可读性.这时候,如果能给重要的信息加上差异的字体颜色,那么就 ...

  3. Python控制台输出带颜色的文字(高亮显示)方法

    在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中.而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信 ...

  4. 如何用Python输出PPT中的文字信息

    在这里,会用到win32com模块 模块下载地址:http://sourceforge.net/projects/pywin32/files/pywin32/ 代码如下: import win32co ...

  5. python控制台输出带颜色的文字方法

    #格式: 设置颜色开始 :\033[显示方式;前景色;背景色m   注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个:另外由于表示三个参数不同含义的数值都是唯一的没有 ...

  6. python输出显示颜色

    显示颜色格式:\033[显示方式;字体色;背景色m......[\033[0m] ------------------------------------------- --------------- ...

  7. Python 输出有颜色的字体

    https://www.cnblogs.com/hellojesson/p/5961570.html

  8. Python如何输出带颜色的文字

    print('\033[31m%s' % "这是前景色") 这是前景色 print('%s' % "这是前景色") 这是前景色 print('\033[1;31 ...

  9. python 输出颜色的与样式的方法

    上次遇到这个问题就想写下来,其实当时我也不怎么会,老师说这个东西不需要理解,只需要死记硬背,写的多了就记住了,所以今天搜集了几篇文章,加上自己的理解,写下了这篇python 输出颜色的样式与方法的文章 ...

随机推荐

  1. Docker修改默认的网段

    一,问题 docker安装后默认的网段是172.17网段的,和真实环境网段冲突导致本机电脑无法连接docker机器. 二,解决办法 修改docker默认网段 1,先把docker停止 systemct ...

  2. 【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG

    问题描述 在Azure Redis的门户页面中,通过Redis Console连接到Redis后,想通过CONFIG命令来配置Redis,但是系统提示CONFIG命令不能用. 错误消息为:(error ...

  3. Hive数据倾斜优化

    在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显.主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平 ...

  4. 华为Mate20 Adb驱动失败

    今天拿到同事一台华为Mate20,准备装个包,结果发现adb一直 no devices,AndroidStudio当然也显示 no connected devices 开发者模式也打开了,USB调试也 ...

  5. win10/win7下vs2013自带IISExpress支持局域网访问

    打开IISExpress安装目录(C:\Users\Administrator\Documents\IISExpress\config),一般为我的文档下,用记事本打开applicationhost. ...

  6. 【程序包管理】Linux程序包管理之yum源安装

    yum源安装是我们工作中常用的一种方式,它是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RP ...

  7. 为什么会有kafka消息系统?小问题藏着大细节!

    前言:老刘今天写这篇文章首先想对一些复制粘贴的博客表达不满:其次是想用通俗易懂的话解释消息系统:最后欢迎各位英雄好汉.女中豪杰前来battle. 1. 为什么有消息系统? 1.1 背景 今天复习kaf ...

  8. 将Maven镜像更换为国内阿里云仓库

    1.国内访问maven默认远程中央镜像特别慢 2.用阿里的镜像替代远程中央镜像 3.大部分jar包都可以在阿里镜像中找到,部分jar包在阿里镜像中没有,需要单独配置镜像 换为国内镜像,让你感受飞一般的 ...

  9. Java基础集合简单总结

    集合 Collection单列集合有List 和 Set List集合有: ArrayList集合 特点: 1.存取有序 可以重复 有索引 2.底层是数组实现,查询快,增删慢 ArrayList底层: ...

  10. 【C++】C++之类型转换

    作者:李春港 出处:https://www.cnblogs.com/lcgbk/p/14209848.html 目录 一.前言 二.static_cast 2.1 使用场景 2.2 实例 三.dyna ...