python在windows命令行下输出彩色文字的方法


Posted in Python onMarch 19, 2015

本文实例讲述了python在windows命令行下输出彩色文字的方法。分享给大家供大家参考。具体分析如下:

默认情况下python在控制台输出的文字信息都是黑白的,如果能将文字做成彩色的输出,输出效果会更完美,也很酷,不是吗,下面是一段演示代码,这段代码封装了一个color类用来输出带颜色的文字,只要调用该类里面的相关方法就可以了,非常简单。

#!/usr/bin/env python 

#encoding: utf-8

import ctypes

STD_INPUT_HANDLE = -10

STD_OUTPUT_HANDLE= -11

STD_ERROR_HANDLE = -12

FOREGROUND_BLACK = 0x0

FOREGROUND_BLUE = 0x01 # text color contains blue.

FOREGROUND_GREEN= 0x02 # text color contains green.

FOREGROUND_RED = 0x04 # text color contains red.

FOREGROUND_INTENSITY = 0x08 # text color is intensified.

BACKGROUND_BLUE = 0x10 # background color contains blue.

BACKGROUND_GREEN= 0x20 # background color contains green.

BACKGROUND_RED = 0x40 # background color contains red.

BACKGROUND_INTENSITY = 0x80 # background color is intensified.

class Color:

    ''' See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_api_reference.asp

    for information on Windows APIs. - 3water.com'''

    std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)

    def set_cmd_color(self, color, handle=std_out_handle):

        """(color) -> bit

        Example: set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY)

        """

        bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)

        return bool

    def reset_color(self):

        self.set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)

    def print_red_text(self, print_text):

        self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY)

        print print_text

        self.reset_color()

    def print_green_text(self, print_text):

        self.set_cmd_color(FOREGROUND_GREEN | FOREGROUND_INTENSITY)

        print print_text

        self.reset_color()

    def print_blue_text(self, print_text):

        self.set_cmd_color(FOREGROUND_BLUE | FOREGROUND_INTENSITY)

        print print_text

        self.reset_color()

    def print_red_text_with_blue_bg(self, print_text):

        self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY| BACKGROUND_BLUE | BACKGROUND_INTENSITY)

        print print_text

        self.reset_color()   

if __name__ == "__main__":

    clr = Color()

    clr.print_red_text('red')

    clr.print_green_text('green')

    clr.print_blue_text('blue')

    clr.print_red_text_with_blue_bg('background')

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python装饰器使用示例及实际应用例子
Mar 06 Python
Python中的rfind()方法使用详解
May 19 Python
Python实现多线程抓取妹子图
Aug 08 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
Linux下多个Python版本安装教程
Aug 15 Python
Python中反射和描述器总结
Sep 23 Python
浅析python的Lambda表达式
Feb 27 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
新手入门学习python Numpy基础操作
Mar 02 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
Apr 25 Python
python利用paramiko实现交换机巡检的示例
Sep 22 Python
Python Matplotlib库实现画局部图
Nov 17 Python
python通过colorama模块在控制台输出彩色文字的方法
Mar 19 #Python
python实现颜色rgb和hex相互转换的函数
Mar 19 #Python
python实现从一组颜色中找出与给定颜色最接近颜色的方法
Mar 19 #Python
python遍历类中所有成员的方法
Mar 18 #Python
python获取图片颜色信息的方法
Mar 18 #Python
Python调用C语言开发的共享库方法实例
Mar 18 #Python
Python两个整数相除得到浮点数值的方法
Mar 18 #Python
You might like
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
详解Nuxt.js 实战集锦
2019/11/19 Javascript
python抽象基类用法实例分析
2015/06/04 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
Django ModelForm组件原理及用法详解
2020/10/12 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
教育课题研究自我鉴定范文
2013/12/28 职场文书
初二生物教学反思
2014/02/03 职场文书
安全保证书范文
2014/04/29 职场文书
服务承诺口号
2014/05/22 职场文书
年检委托书
2014/08/30 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
党员转正介绍人意见
2015/06/03 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js