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

在写python 程序代码的时候,我们知道python 输出的字符串颜色和一般字符相同,但是许多时候,我们需要强调某些字符,需要把其变为易于认出的颜色或者显著的样子。小编这里也搜集到了添加颜色的格式,

格式:"\033[字背景颜色;字体颜色m————————\033[0m"   (——————表示字符串)

例如:     "\033[42;37m there are ready color\033[0m"

格式:\033[显示方式;前景色;背景色m

说明:
前景色 背景色 颜色
---------------------------------------
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
显示方式 意义
-------------------------
0 终端默认设置
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见 例子:
\033[1;31;40m <!--1-高亮显示 31-前景色红色 40-背景色黑色-->
\033[0m <!--采用终端默认设置,即取消颜色设置--> (这段程序是直接复制别人写好的,感觉比我写的好得多,而且全面)

举个例子,这里小编写了一个数字比大小的程序,若猜正确,则结果是正常;若猜的不正确,结果都有颜色标记,帮助你改进

_author_ = "zhanzhengrecheng"

for i in range(4):
number = input("input one number:")
number = int(number)
if number >56:
print("\033[37;44m yes,%s确实比56大\033[0m"% number)
elif number == 56:
print("congratulation your input the number is true")
break
else:
print('\033[34;43m no,%s比56小\033[0m'% number)
else:
print("您的机会已经用完了")

代码结果:

input one number:49
no,49比56小
input one number:59
yes,59确实比56大
input one number:56
congratulation your input the number is true

python在cmd上打印彩色文字

  注意:只能在cmd中显示颜色,在编译器里就不行了(可能此方法只在Windows控制台有作用)

  直接介绍GetStdHandle() 和SetConsoleTextAttribute()这两个API

1,GetStdHandle()

  其作用是获取输入,输出/错误的屏幕缓冲区的句柄,函数声明如下:

HANDLE GetStdHandle(
DWORD nStdHandle
);

  其参数nStdHandle的值为下面几种类型的一种:

STD_INPUT_HANDLE 标准输入的句柄
STD_OUTPUT_HANDLE 标准输出的句柄
STD_ERROR_HANDLE 标准错误的句柄

  GetStdHandle() 返回标准的输入,输出或错误的设备的句柄,也就是获得输入,输出/错误的屏幕缓冲区的句柄。

2,SetConsoleTextAttribute()

  其作用是在控制台中设置输入或者输出文本的文字颜色和背景颜色。其函数声明如下:

  BOOL SetConsoleTextAttribute(
HANDLE hConsoleOutput, // console 屏幕缓冲区的句柄
WORD wAttributes // 文本及背景的颜色
);

  文本与背景的颜色设置可以参考Windows上“color/?” 命令的说明。颜色属性是由两个十六进制数字指定———第一个为背景,第二个为前景,每个数字可以为下面任何值之一(上面也有),如下:

= 黑色       8 = 灰色
= 蓝色 9 = 淡蓝色
= 绿色 A = 淡绿色
= 浅绿色 B = 淡浅绿色
= 红色 C = 淡红色
= 紫色 D = 淡紫色
= 黄色 E = 淡黄色
= 白色 F = 亮白色

  如果函数设置文本及背景颜色成功,则返回非0.如果设置失败则返回0.

prt_cmd_color.py参考代码如下:

#-*- coding:utf-8 -*-#

#filename: prt_cmd_color.py

import ctypes,sys

STD_INPUT_HANDLE = -10
STD_OUTPUT_HANDLE = -11
STD_ERROR_HANDLE = -12 #字体颜色定义 text colors
FOREGROUND_BLUE = 0x09 # blue.
FOREGROUND_GREEN = 0x0a # green.
FOREGROUND_RED = 0x0c # red.
FOREGROUND_YELLOW = 0x0e # yellow. # 背景颜色定义 background colors
BACKGROUND_YELLOW = 0xe0 # yellow. # get handle
std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE) def set_cmd_text_color(color, handle=std_out_handle):
Bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)
return Bool #reset white
def resetColor():
set_cmd_text_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE) #green
def printGreen(mess):
set_cmd_text_color(FOREGROUND_GREEN)
sys.stdout.write(mess + '\n')
resetColor() #red
def printRed(mess):
set_cmd_text_color(FOREGROUND_RED)
sys.stdout.write(mess + '\n')
resetColor() #yellow
def printYellow(mess):
set_cmd_text_color(FOREGROUND_YELLOW)
sys.stdout.write(mess + '\n')
resetColor() #white bkground and black text
def printYellowRed(mess):
set_cmd_text_color(BACKGROUND_YELLOW | FOREGROUND_RED)
sys.stdout.write(mess + '\n')
resetColor() if __name__ == '__main__':
printGreen('printGreen:Gree Color Text')
printRed('printRed:Red Color Text')
printYellow('printYellow:Yellow Color Text')

  说明:如果需要增加不同前景色或者背景色的组合输出,可以参考代码和上述颜色编号增加。

python 输出颜色的与样式的方法的更多相关文章

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

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

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

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

  3. [Python]输出中文报错的解决方法

    问题现象:在PyCharm工具编辑python语句输出中文时,程序报错. 解决方法(2种): 1.在代码开头加#coding=utf-8(注意要加#) 2.还是在代码开头加#-*- coding: u ...

  4. 【转】Python实现修改Windows CMD命令行输出颜色(完全解析)

    用Python写命令行程序的时候,单一的输出颜色太单调.其实我们可以加些色彩,比如用红色表示警告,绿色表示结果正常等.网上也有几篇类似的帖子,但是没有把问题讲清楚,贴的代码也不是太清晰.这里,对Win ...

  5. python字符串替换的2种有效方法

    python 字符串替换可以用2种方法实现:1是用字符串本身的方法.2用正则来替换字符串 下面用个例子来实验下:a = 'hello word'我把a字符串里的word替换为python1用字符串本身 ...

  6. 总结:js中4类修改样式的方法

    前言 最近在写一个扩展右键菜单的插件,既然是插件,想着一步到位,把相关的style样式设置都丢进js文件中,直接加载一个js文件便可以使用该插件,所以今天就研究了下js批量的插入样式的方法,即addS ...

  7. 举例详解Python中的split()函数的使用方法

    这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下   函数:sp ...

  8. Response输出excel设置文本样式

    在网上查了些Response导出excel然后设置样式的方法,发现没有一个可行的于是开始自己研究, 发现可以通过输出样式的方式进行配置,我要设置的是全文本格式在excel样式是这样的mso-numbe ...

  9. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

随机推荐

  1. 打造基于Clang LibTooling的iOS自动打点系统CLAS(二)

    1. 配置LLVM和Clang 在这篇文章里,我们会基于上一篇所述的方案进行展开,详细讲解如何从0开始创建一个基于Clang LibTooling的编译器前端工具.在开始之前,我们假设你已经基本了解何 ...

  2. 【可视化】Echarts3坐标系倒映

    目标: 用echarts实现在一个echarts图表中包含上下两个坐标系 横轴合并在一块.有一种上下对称水映的视觉效果 要点提示:grid 是一个数组 包含两个grid xAxis,yAxis也都是数 ...

  3. Python3 TA-Lib

    This is a Python wrapper for TA-LIB based on Cython instead of SWIG. From the homepage: TA-Lib is wi ...

  4. Android笔记: ViewPager基本用法

    ViewPager控件可以实现多个View(或fragment)滑动切换的效果,属于比较常用的控件.下面用一个简单的例子介绍一下该控件的基本用法. 首先是布局文件activity_view_pager ...

  5. 关于JDBC导入mysql的jar驱动的头痛

    今天上午想写个小程序,需要调用数据库,查了书和各个博客. 最后卡在导入mysql驱动上了,花了1个多小时才让程序连上数据库. 这里有个小误区,你下载的是zip压缩文件,很多帖子写的都是让你导入驱动,但 ...

  6. 如何利用Jmeter做代理录制脚本

    如果对于这个Jmeter不太会使用的童鞋,可以去参考其他的教学文档,本文只提供Jmeter的代理使用. 第一步:添加线程组

  7. Ubuntu 环境 samba的安装&配置

    一.samba的安装: sudo apt-get install samba sudo apt-get install smbfs sudo apt-get install cifs-utils (新 ...

  8. Django配置mysql

    我的环境为windows10+pyhton3.6+Django1.11.4 由于mysqldb不支持python3,所以django连接MySQL就不能再使用mysqldb了.故而选择了mysqlcl ...

  9. python基础教程(二)

    继续第一篇的内容,讲解,python的一些基本的东西. 注释 为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样. >>> #获得用户名: > ...

  10. python常用标准库

    -------------------系统内建函数------------------- 1.字符串     str='这是一个字符串数据测试数据'对应     str[0]:获取str字符串中下标为 ...