windows下运行python打印有颜色的字_Windows和Linux下Python输出彩色文字的方法教程...
前言
最近在项目中需要输出彩色的文字来提醒用户,以前写过,但是只能在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:
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:
[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的几种颜色差不多,应该够用了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
windows下运行python打印有颜色的字_Windows和Linux下Python输出彩色文字的方法教程...相关推荐
- windows下运行python打印有颜色的字_在windows下Python打印彩色字体的方法
本文讲述了Python在windows下打印彩色字体的方法.分享给大家供大家参考,具体如下: ##################################################### ...
- python打印以色列国旗_以色列学生的Linux和Python教育
python打印以色列国旗 现在进入第三年,ROSE(红帽教育开放源码)项目是一项跨社区的工作,将来自Tira的学生以及来自Ra'anana的 Yonatan中学的学生带到以色列的Red Hat办公室 ...
- python和sqlserver应用_Windows和Linux下使用Python访问SqlServer的方法介绍
经常用Python写demo来验证方案的可行性,最近遇到了Python访问SqlServer的问题,这里总结下. 一.Windows下配置Python访问Sqlserver 环境:Windows 7 ...
- python导入数据画柱状图代码_在Linux下使用Python的matplotlib绘制数据图的教程
如果你想要在Linxu中获得一个高效.自动化.高质量的科学画图的解决方案,应该考虑尝试下matplotlib库.Matplotlib是基于python的开源科学测绘包,基于python软件基金会许可证 ...
- linux颜色吸取工具,Pick:Linux下功能强大的拾色器
以前在 Linux 下要拾个颜色啥的我一直用 gcolor2 应付着,不过话说回来,gcolor2 的功能实在有些弱.现在有了功能更加强大的 Pick. Pick 允许你从屏幕的任意位置拾取颜色,除了 ...
- python面试-马哥教育官网-专业Linux培训班,Python培训机构
今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是 ...
- Linux下数据库连接超时时长,关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法...
.Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...
- linux下g编译文件或目录,【转】在linux下使用gcc/g++编译多个.h文件
博主写得很好 多个文件编译在linux下编译,下面有三个文件,分别是1.cpp 和 2.cpp 和myhead.h 文件. 1.cpp 2.cpp myhead.h 假如他们都在一个目录下面,那么编译 ...
- python人工智能-马哥教育官网-专业Linux培训班,Python培训机构
未来的社会将是人工智能的天下,现在互联网巨头公司在人工智能领域的投入明显增大,都力争做人工智能时代的"带头大哥".Python作为一门编程语言,其魅力远超c#,jave,c,c++ ...
最新文章
- cad设计院常用字体_如何把CAD图纸坐标转换成现场坐标?
- IIS7.0通过FastCGI方式运行PHP遇到的一些问题及解决方法
- 2021年中国助行靴市场趋势报告、技术动态创新及2027年市场预测
- ajax图片上传,基于firefox
- 跨交换机实现VLAN实验
- 云计算未来的新方向会是“Sky Computing”吗?
- Dbg2Excel_Word
- 28.找出字符串中第一个匹配项的下标
- CC00155.bigdatajava——|JavaMySQL.高级.V27|——|MySQL.v28|锁分类|
- 软件工程网络15个人阅读作业1(201521123111 陈伟泽)
- 自动化测试appium
- 原生Transform编辑器,这个两个脚本能直接更改检视窗口的Tranform的显示
- java赫夫曼编码(含赫夫曼编码代码)
- Selenium安装教程【通过Pycharm安装】
- Image To PDF or XPS V5.0 汉化版,tek2y原创汉化!
- 计算机与应用文,计算机应用类word应用文写作大全.doc
- uniapp之 登录成功后返回之前页面
- 我遇到的问题之request method ‘post’ not supported
- 如何对计算机进行网络限速,如何给共享上网的电脑限速
- OFD电子证照模版制作工具 - -升级版 采用WPF开发