[Python] python在windows命令行下输出彩色文字代码 →→→→→进入此内容的聊天室

来自 , 2019-05-22, 写在 Python, 查看 119 次.
URL http://www.code666.cn/view/32b8923d
  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. - www.sharejs.com'''
  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.    
  62. #//python/8665

回复 "python在windows命令行下输出彩色文字代码"

这儿你可以回复上面这条便签

captcha