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发送各种形式的邮件的方法汇总
Nov 09 Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 Python
python实现简单图片物体标注工具
Mar 18 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
如何用OpenCV -python3实现视频物体追踪
Dec 04 Python
python加载自定义词典实例
Dec 06 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
TensorFlow实现从txt文件读取数据
Feb 05 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
在pycharm中无法import所安装的库解决方案
May 31 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/12/06 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
python3简单实现微信爬虫
2015/04/09 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
django的ORM模型的实现原理
2019/03/04 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
对Python _取log的几种方式小结
2019/07/25 Python
python中调试或排错的五种方法示例
2019/09/12 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
销售经理岗位职责
2014/03/16 职场文书
产品推广策划方案
2014/05/10 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
个人年终总结开头
2015/03/06 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python