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使用os模块的os.walk遍历文件夹示例
Jan 27 Python
Pycharm 创建 Django admin 用户名和密码的实例
May 30 Python
python逆序打印各位数字的方法
Jun 25 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
python使用pdfminer解析pdf文件的方法示例
Dec 20 Python
解决tensorflow训练时内存持续增加并占满的问题
Jan 19 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
Jupyter Notebook折叠输出的内容实例
Apr 22 Python
Python selenium爬取微博数据代码实例
May 22 Python
解决python3输入的坑——input()
Dec 05 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 SQLite类
2009/05/07 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
PHP实现简单登录界面
2019/10/23 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
浅析Python基础-流程控制
2016/03/18 Python
速记Python布尔值
2017/11/09 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
Python之pymysql的使用小结
2019/07/01 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
《再见了,亲人》教学反思
2014/02/26 职场文书
毕业生自荐信格式
2014/03/07 职场文书
幼儿园感谢信
2015/01/21 职场文书
个人委托书范文
2015/01/28 职场文书
垂直极限观后感
2015/06/08 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers