Windows和Linux下Python输出彩色文字的方法教程


Posted in Python onMay 02, 2017

前言

最近在项目中需要输出彩色的文字来提醒用户,以前写过,但是只能在win上面运行。

今天搜了下看有没有在win和Linux上通用的输出彩色文字的模块,结果发现没有,,于是就自己弄了一个,分享下,以后用的时候翻翻博客,方便别人也方便自己。

win下输出彩色文字,网上有两种方法一种是用system执行命令来设置颜色,感觉还是不太好,用ctypes模块实现更好点。

linux下设置颜色,网上只找到了一种方法,下面不废话了,直接贴下代码:

示例代码

import platform
if 'Windows' in platform.system():
 import sys
 import ctypes
 __stdInputHandle = -10
 __stdOutputHandle = -11
 __stdErrorHandle = -12
 __foreGroundBLUE = 0x09
 __foreGroundGREEN = 0x0a
 __foreGroundRED = 0x0c
 __foreGroundYELLOW = 0x0e
 stdOutHandle=ctypes.windll.kernel32.GetStdHandle(__stdOutputHandle)
 def setCmdColor(color,handle=stdOutHandle):
 return ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)
 def resetCmdColor():
 setCmdColor(__foreGroundRED | __foreGroundGREEN | __foreGroundBLUE)
 def printBlue(msg):
 setCmdColor(__foreGroundBLUE)
 sys.stdout.write(msg + '\n')
 resetCmdColor()
 def printGreen(msg):
 setCmdColor(__foreGroundGREEN)
 sys.stdout.write(msg + '\n')
 resetCmdColor()
 def printRed(msg):
 setCmdColor(__foreGroundRED)
 sys.stdout.write(msg + '\n')
 resetCmdColor()
 def printYellow(msg):
 setCmdColor(__foreGroundYELLOW)
 sys.stdout.write(msg + '\n')
 resetCmdColor()
else:
 STYLE = {
 'fore':{
 'red': 31,
 'green': 32,
 'yellow': 33,
 'blue': 34,
 }
 }
 def UseStyle(msg, mode = '', fore = '', back = '40'):
 fore = '%s' % STYLE['fore'][fore] if STYLE['fore'].has_key(fore) else ''
 style = ';'.join([s for s in [mode, fore, back] if s])
 style = '\033[%sm' % style if style else ''
 end = '\033[%sm' % 0 if style else ''
 return '%s%s%s' % (style, msg, end)
 def printRed(msg):
 print UseStyle(msg,fore='red')
 def printGreen(msg):
 print UseStyle(msg,fore='green')
 def printYellow(msg):
 print UseStyle(msg,fore='yellow')
 def printBlue(msg):
 print UseStyle(msg,fore='blue')

效果图:

Windows:

Windows和Linux下Python输出彩色文字的方法教程

C:\luan\lu4n.com-sqli>python
Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> from color import *
>>> printRed('Red')
Red
>>> printGreen('Green')
Green
>>> printYellow('Yellow')
Yellow
>>> printBlue('Blue')
Blue
>>> print 'http://lu4n.com/'
http://lu4n.com/
>>>

Linux:

Windows和Linux下Python输出彩色文字的方法教程

[root@Luan ~]# nano test_color.py
[root@Luan ~]# python
Python 2.7.5 (default, Jun 17 2014, 18:11:42) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from test_color import *
>>> printRed('Red')
Red
>>> printGreen('Green')
Green
>>>

用起来很容易,直接from color import *就可以用了,有4种常用颜色可以使用,分别写了4个函数:

提示信息 printBlue

成功信息 printGreen

失败信息 printRed

警告信息 printYellow

和bootstrap的几种颜色差不多,应该够用了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
Python中用pycurl监控http响应时间脚本分享
Feb 02 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
python实现关键词提取的示例讲解
Apr 28 Python
Python装饰器简单用法实例小结
Dec 03 Python
django 简单实现登录验证给你
Nov 06 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 Python
python中字符串类型json操作的注意事项
May 02 #Python
python实现逻辑回归的方法示例
May 02 #Python
pycharm中连接mysql数据库的步骤详解
May 02 #Python
Python多线程实现同步的四种方式
May 02 #Python
Python之Web框架Django项目搭建全过程
May 02 #Python
python3实现抓取网页资源的 N 种方法
May 02 #Python
Pycharm学习教程(2) 代码风格
May 02 #Python
You might like
PHP中的密码加密的解决方案总结
2016/10/26 PHP
google地图的路线实现代码
2009/08/20 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
javascript实现yield的方法
2013/11/06 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
九种原生js动画效果
2015/11/11 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
详解node-ccap模块生成captcha验证码
2017/07/01 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Django自定义认证方式用法示例
2017/06/23 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
python不同系统中打开方法
2020/06/23 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
Python 绘制可视化折线图
2020/07/22 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
德国高性价比网上药店:medpex
2017/07/09 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
两道JAVA笔试题
2016/09/14 面试题
上班上网检讨书
2014/01/29 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
防火标语大全
2014/10/06 职场文书
关于工作经历的证明书
2014/10/11 职场文书
PL350与SW11的比较
2021/04/22 无线电
Python实现拼音转换
2021/06/07 Python
Python Matplotlib库实现画局部图
2021/11/17 Python