在cmd中打印出彩色文字,主代码来自网上,一不小心忘了原链接了,抱歉。下面我是修改后的内容。
- #!/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.'''
- 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')
主要是根据3基色组合颜色,非常好用。也可以直接给数字来确定颜色值,0-255是字体颜色值范围,256-511是背景颜色值范围。
结果:
转载自: http://blog.csdn.net/five3/article/details/7630295