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 相关文章推荐
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 Python
Python 如何访问外围作用域中的变量
Sep 11 Python
Python基础知识_浅谈用户交互
May 31 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
python判断输入日期为第几天的实例
Nov 13 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
关于pytorch中网络loss传播和参数更新的理解
Aug 20 Python
详解python statistics模块及函数用法
Oct 27 Python
手动安装python3.6的操作过程详解
Jan 13 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 Python
Django-imagekit的使用详解
Jul 06 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
董事长岗位职责
2013/11/30 职场文书
求职推荐信范文
2013/12/01 职场文书
项目合作计划书
2014/01/09 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
2014年人事科工作总结
2014/11/19 职场文书
硕士学位申请报告
2015/05/15 职场文书
现货白银电话营销话术
2015/05/29 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
浅谈Python数学建模之固定费用问题
2021/06/23 Python
HTML常用标签超详细整理
2022/03/19 HTML / CSS
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python