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

 更新时间:2015年03月19日 14:47:25   作者:liuli  
这篇文章主要介绍了python在windows命令行下输出彩色文字的方法,涉及Python文字特效操作技巧,需要的朋友可以参考下

本文实例讲述了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. - www.jb51.net'''
    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高斯分布概率密度函数的使用详解

    今天小编就为大家分享一篇python高斯分布概率密度函数的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 基于Python3读写INI配置文件过程解析

    基于Python3读写INI配置文件过程解析

    这篇文章主要介绍了基于Python3读写INI配置文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Python多线程threading模块用法实例分析

    Python多线程threading模块用法实例分析

    这篇文章主要介绍了Python多线程threading模块用法,结合实例形式分析了Python多线程threading模块原理、功能、常见应用及相关操作注意事项,需要的朋友可以参考下
    2019-05-05
  • python异常处理和日志处理方式

    python异常处理和日志处理方式

    今天小编就为大家分享一篇python异常处理和日志处理方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python 读取文件并替换字段的实例

    python 读取文件并替换字段的实例

    今天小编就为大家分享一篇python 读取文件并替换字段的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python版的文曲星猜数字游戏代码

    Python版的文曲星猜数字游戏代码

    最近开始研究python,于是写了个Python版的文曲星猜数字游戏,喜欢的朋友可以参考下
    2013-09-09
  • Python进阶之多线程的实现方法总结

    Python进阶之多线程的实现方法总结

    在python中主要有两种实现多线程的方式:通过threading.Thread () 方法创建线程和通过继承 threading.Thread 类的继承重写run方法,接下来我们分别说一下多线程的两种实现形式吧
    2023-04-04
  • python写入并获取剪切板内容的实例

    python写入并获取剪切板内容的实例

    今天小编就为大家分享一篇python写入并获取剪切板内容的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python网页解析器使用实例详解

    Python网页解析器使用实例详解

    这篇文章主要介绍了Python网页解析器使用实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python实现excel转sqlite的方法

    Python实现excel转sqlite的方法

    这篇文章主要介绍了Python实现excel转sqlite的方法,结合实例形式分析了Python基于第三方库xlrd读取Excel文件及写入sqlite的相关操作技巧,需要的朋友可以参考下
    2017-07-07

最新评论