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中的RSS处理
Apr 13 Python
连接Python程序与MySQL的教程
Apr 29 Python
实现python版本的按任意键继续/退出
Sep 26 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
Dec 18 Python
python读写json文件的简单实现
Apr 11 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
python爬虫超时的处理的实例
Dec 19 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
浅析Python与Mongodb数据库之间的操作方法
Jul 01 Python
python django 原生sql 获取数据的例子
Aug 14 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
Feb 10 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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
实现vuex原理的示例
2020/10/21 Javascript
python实现按长宽比缩放图片
2018/06/07 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
python 日期排序的实例代码
2019/07/11 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
Python定义一个Actor任务
2020/07/29 Python
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
小区门卫岗位职责
2013/12/31 职场文书
集体婚礼证婚词
2014/01/13 职场文书
个人对照检查材料
2014/02/12 职场文书
城管大队整治方案
2014/05/06 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
2014年维修工作总结
2014/11/22 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
财政局个人总结
2015/03/04 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
分析设计模式之模板方法Java实现
2021/06/23 Java/Android