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识别图片中的条码(pyzbar)及条码图片矫正和增强

    详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强

    这篇文章主要介绍了详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python中reset_index()函数的使用

    Python中reset_index()函数的使用

    本文主要介绍了Python中reset_index()函数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Python字典 dict几种遍历方式

    Python字典 dict几种遍历方式

    这篇文章主要给大家分享的是Python字典 dict几种遍历方式,文章主要介绍使用 for key in dict遍历字典、使用for key in dict.keys () 遍历字典的键等内容,需要的朋友可以参考一下,希望对你有所帮助
    2021-11-11
  • Python使用bar绘制堆积/带误差棒柱形图的实现

    Python使用bar绘制堆积/带误差棒柱形图的实现

    本文先讲解bar参数如何使用,然后分别演示堆积柱形图和带误差柱形图画法。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 关于Pandas缺失值inf与nan的处理实践

    关于Pandas缺失值inf与nan的处理实践

    这篇文章主要介绍了关于Pandas缺失值inf与nan的处理实践,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • python实现无证书加密解密实例

    python实现无证书加密解密实例

    这篇文章主要介绍了python实现无证书加密解密的方法,实例讲述了无证书加密解密的原理与具体实现过程,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • 详解Golang 与python中的字符串反转

    详解Golang 与python中的字符串反转

    这篇文章主要介绍了详解Golang 与python中的字符串反转的相关资料,这里提供了实现的实例以便大家学习理解,需要的朋友可以参考下
    2017-07-07
  • python操作mysql代码总结

    python操作mysql代码总结

    本篇文章给大家分享了python操作mysql的步骤以及相关实例代码,对此有需要的朋友可以参考学习下。
    2018-06-06
  • 详解python while 函数及while和for的区别

    详解python while 函数及while和for的区别

    这篇文章主要介绍了python while 函数及while和for的区别 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • 对Python3中bytes和HexStr之间的转换详解

    对Python3中bytes和HexStr之间的转换详解

    今天小编就为大家分享一篇对Python3中bytes和HexStr之间的转换详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论