python在windows的cmd中打印彩色文字

在cmd中打印出彩色文字,主代码来自网上,一不小心忘了原链接了,抱歉。下面我是修改后的内容。

[python] view plain copy
  1. #!/usr/bin/env python    
  2. #encoding: utf-8  
  3. import ctypes  
  4.   
  5. STD_INPUT_HANDLE = -10  
  6. STD_OUTPUT_HANDLE= -11  
  7. STD_ERROR_HANDLE = -12  
  8.   
  9. FOREGROUND_BLACK = 0x0  
  10. FOREGROUND_BLUE = 0x01 # text color contains blue.  
  11. FOREGROUND_GREEN= 0x02 # text color contains green.  
  12. FOREGROUND_RED = 0x04 # text color contains red.  
  13. FOREGROUND_INTENSITY = 0x08 # text color is intensified.  
  14.   
  15. BACKGROUND_BLUE = 0x10 # background color contains blue.  
  16. BACKGROUND_GREEN= 0x20 # background color contains green.  
  17. BACKGROUND_RED = 0x40 # background color contains red.  
  18. BACKGROUND_INTENSITY = 0x80 # background color is intensified.  
  19.   
  20. class Color:  
  21.     ''''' See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_api_reference.asp 
  22.     for information on Windows APIs.'''  
  23.     std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)  
  24.       
  25.     def set_cmd_color(self, color, handle=std_out_handle):  
  26.         """(color) -> bit 
  27.         Example: set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY) 
  28.         """  
  29.         bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)  
  30.         return bool  
  31.       
  32.     def reset_color(self):  
  33.         self.set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)  
  34.       
  35.     def print_red_text(self, print_text):  
  36.         self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY)  
  37.         print print_text  
  38.         self.reset_color()  
  39.           
  40.     def print_green_text(self, print_text):  
  41.         self.set_cmd_color(FOREGROUND_GREEN | FOREGROUND_INTENSITY)  
  42.         print print_text  
  43.         self.reset_color()  
  44.       
  45.     def print_blue_text(self, print_text):   
  46.         self.set_cmd_color(FOREGROUND_BLUE | FOREGROUND_INTENSITY)  
  47.         print print_text  
  48.         self.reset_color()  
  49.             
  50.     def print_red_text_with_blue_bg(self, print_text):  
  51.         self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY| BACKGROUND_BLUE | BACKGROUND_INTENSITY)  
  52.         print print_text  
  53.         self.reset_color()      
  54.   
  55. if __name__ == "__main__":  
  56.     clr = Color()  
  57.     clr.print_red_text('red')  
  58.     clr.print_green_text('green')  
  59.     clr.print_blue_text('blue')  
  60.     clr.print_red_text_with_blue_bg('background')  
  61.       
使用:

主要是根据3基色组合颜色,非常好用。也可以直接给数字来确定颜色值,0-255是字体颜色值范围,256-511是背景颜色值范围。

结果:




转载自: http://blog.csdn.net/five3/article/details/7630295

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值