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爬虫模拟登录带验证码网站
Jan 22 Python
Python socket网络编程TCP/IP服务器与客户端通信
Jan 05 Python
Pandas读取MySQL数据到DataFrame的方法
Jul 25 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
Feb 17 Python
利用Python查看微信共同好友功能的实现代码
Apr 24 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
对python中assert、isinstance的用法详解
Nov 27 Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 Python
Python pip使用超时问题解决方案
Aug 03 Python
OpenCV利用python来实现图像的直方图均衡化
Oct 21 Python
python中的random模块和相关函数详解
Apr 22 Python
Django框架模板用法详解
Jun 10 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实现分页的一个示例
2006/10/09 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
js实现文件上传表单域美化特效
2015/11/02 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
webpack多页面开发实践
2017/12/18 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
Python列表推导式的使用方法
2013/11/21 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
Python写入数据到MP3文件中的方法
2015/07/10 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
Django跨域请求原理及实现代码
2020/11/14 Python
css3学习心得分享
2013/08/19 HTML / CSS
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
教师应聘个人求职信
2013/12/10 职场文书
学校交通安全责任书
2014/08/25 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
python中validators库的使用方法详解
2022/09/23 Python