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的一些用法分享
Oct 07 Python
python获取局域网占带宽最大3个ip的方法
Jul 09 Python
Python 使用requests模块发送GET和POST请求的实现代码
Sep 21 Python
Python类的继承和多态代码详解
Dec 27 Python
python 接口返回的json字符串实例
Mar 27 Python
详解django.contirb.auth-认证
Jul 16 Python
对Python信号处理模块signal详解
Jan 09 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
基于python3 的百度图片下载器的实现代码
Nov 05 Python
dpn网络的pytorch实现方式
Jan 14 Python
Python函数对象与闭包函数
Apr 13 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实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
Input 特殊事件onpopertychange和oninput
2009/06/17 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
iframe的父子窗口之间的对象相互调用基本用法
2013/09/03 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
[50:21]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/19 DOTA
gearman的安装启动及python API使用实例
2014/07/08 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
python常用数据重复项处理方法
2019/11/22 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
python scatter函数用法实例详解
2020/02/11 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
社区敬老月活动实施方案
2014/02/17 职场文书
法定代表人授权委托书
2014/04/04 职场文书
食品安全责任书
2014/04/15 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
公司运动会策划方案
2014/05/25 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
九不准学习心得体会
2016/01/23 职场文书
Java基础之this关键字的使用
2021/06/30 Java/Android
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS