前言

最近在项目中需要输出彩色的文字来提醒用户,以前写过,但是只能在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输出彩色文字的方法教程...相关推荐

  1. windows下运行python打印有颜色的字_在windows下Python打印彩色字体的方法

    本文讲述了Python在windows下打印彩色字体的方法.分享给大家供大家参考,具体如下: ##################################################### ...

  2. python打印以色列国旗_以色列学生的Linux和Python教育

    python打印以色列国旗 现在进入第三年,ROSE(红帽教育开放源码)项目是一项跨社区的工作,将来自Tira的学生以及来自Ra'anana的 Yonatan中学的学生带到以色列的Red Hat办公室 ...

  3. python和sqlserver应用_Windows和Linux下使用Python访问SqlServer的方法介绍

    经常用Python写demo来验证方案的可行性,最近遇到了Python访问SqlServer的问题,这里总结下. 一.Windows下配置Python访问Sqlserver 环境:Windows 7 ...

  4. python导入数据画柱状图代码_在Linux下使用Python的matplotlib绘制数据图的教程

    如果你想要在Linxu中获得一个高效.自动化.高质量的科学画图的解决方案,应该考虑尝试下matplotlib库.Matplotlib是基于python的开源科学测绘包,基于python软件基金会许可证 ...

  5. linux颜色吸取工具,Pick:Linux下功能强大的拾色器

    以前在 Linux 下要拾个颜色啥的我一直用 gcolor2 应付着,不过话说回来,gcolor2 的功能实在有些弱.现在有了功能更加强大的 Pick. Pick 允许你从屏幕的任意位置拾取颜色,除了 ...

  6. python面试-马哥教育官网-专业Linux培训班,Python培训机构

    今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是 ...

  7. Linux下数据库连接超时时长,关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法...

    .Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...

  8. linux下g编译文件或目录,【转】在linux下使用gcc/g++编译多个.h文件

    博主写得很好 多个文件编译在linux下编译,下面有三个文件,分别是1.cpp 和 2.cpp 和myhead.h 文件. 1.cpp 2.cpp myhead.h 假如他们都在一个目录下面,那么编译 ...

  9. python人工智能-马哥教育官网-专业Linux培训班,Python培训机构

    未来的社会将是人工智能的天下,现在互联网巨头公司在人工智能领域的投入明显增大,都力争做人工智能时代的"带头大哥".Python作为一门编程语言,其魅力远超c#,jave,c,c++ ...

最新文章

  1. cad设计院常用字体_如何把CAD图纸坐标转换成现场坐标?
  2. IIS7.0通过FastCGI方式运行PHP遇到的一些问题及解决方法
  3. 2021年中国助行靴市场趋势报告、技术动态创新及2027年市场预测
  4. ajax图片上传,基于firefox
  5. 跨交换机实现VLAN实验
  6. 云计算未来的新方向会是“Sky Computing”吗?
  7. Dbg2Excel_Word
  8. 28.找出字符串中第一个匹配项的下标
  9. CC00155.bigdatajava——|JavaMySQL.高级.V27|——|MySQL.v28|锁分类|
  10. 软件工程网络15个人阅读作业1(201521123111 陈伟泽)
  11. 自动化测试appium
  12. 原生Transform编辑器,这个两个脚本能直接更改检视窗口的Tranform的显示
  13. java赫夫曼编码(含赫夫曼编码代码)
  14. Selenium安装教程【通过Pycharm安装】
  15. Image To PDF or XPS V5.0 汉化版,tek2y原创汉化!
  16. 计算机与应用文,计算机应用类word应用文写作大全.doc
  17. uniapp之 登录成功后返回之前页面
  18. 我遇到的问题之request method ‘post’ not supported
  19. 如何对计算机进行网络限速,如何给共享上网的电脑限速
  20. OFD电子证照模版制作工具 - -升级版 采用WPF开发

热门文章

  1. Lucene Boost 精度表
  2. 解决了昨天差点让人崩溃的问题.
  3. javascript 创建对象方式
  4. java中随机生成汉字
  5. js中常用framesetiframe页面跳转传参方法实例大全
  6. 大数据相关端口号(hive hdfs spark)
  7. 工厂方法模式的一种特例——简单工厂模式
  8. promise原理—一步一步实现一个promise
  9. ArrayList如何实现增删元素及其缺陷
  10. Netpas:不一样的SD-WAN+ 保障网络通讯品质