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正则表达式使用范例分享
Dec 04 Python
Python 的类、继承和多态详解
Jul 16 Python
Pandas标记删除重复记录的方法
Apr 08 Python
对命令行模式与python交互模式介绍
May 12 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
Python远程开发环境部署与调试过程图解
Dec 09 Python
pycharm 中mark directory as exclude的用法详解
Feb 14 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 Python
python“静态”变量、实例变量与本地变量的声明示例
Nov 13 Python
python 实现定时任务的四种方式
Apr 01 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整合七牛实现上传文件
2015/07/03 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
详解Vue组件之作用域插槽
2018/11/22 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
Python 数据处理库 pandas进阶教程
2018/04/21 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
Python ArgumentParse的subparser用法说明
2020/04/20 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
Python如何输出整数
2020/06/07 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
比利时买床:Beter Bed
2017/12/06 全球购物
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
素质拓展感言
2014/01/29 职场文书
一年级数学教学反思
2014/02/01 职场文书
教师师德表现自我评价
2015/03/05 职场文书
欠条范文
2015/07/03 职场文书
酒店厨房管理制度
2015/08/06 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript