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超简单解决约瑟夫环问题
May 12 Python
使用Pyinstaller的最新踩坑实战记录
Nov 08 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
Feb 24 Python
Python使用Pickle模块进行数据保存和读取的讲解
Apr 09 Python
解决 jupyter notebook 回车换两行问题
Apr 15 Python
python实现批量转换图片为黑白
Jun 16 Python
Python如何读写CSV文件
Aug 13 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
python爬虫beautifulsoup解析html方法
Dec 07 Python
Python入门之使用pandas分析excel数据
May 12 Python
pycharm代码删除恢复的方法
Jun 26 Python
Python List remove()实例用法详解
Aug 02 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通用分页类page.php[仿google分页]
2008/08/31 PHP
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
2011/05/18 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
php设计模式之单例模式代码
2016/06/11 PHP
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
vue实现微信分享功能
2018/11/28 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
应届生服务员求职信
2013/10/31 职场文书
精彩的英文自荐信
2014/01/30 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
党的群众路线学习材料
2014/05/16 职场文书
小学班级口号大全
2015/12/25 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python