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

作者:liuli 时间:2021-11-10 09:20:36 

本文实例讲述了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,彩色,文字
0
投稿

猜你喜欢

  • SQL实现LeetCode(180.连续的数字)

    2024-01-24 13:45:21
  • 使用python scrapy爬取天气并导出csv文件

    2023-02-25 16:16:10
  • 聊聊Python对CSV文件的读取与写入问题

    2023-09-26 09:42:29
  • vue实现在v-html的html字符串中绑定事件

    2023-07-02 16:44:08
  • 教你如何使用MySQL8递归的方法

    2024-01-28 22:59:12
  • python爬虫调度器用法及实例代码

    2023-02-15 08:54:21
  • JavaScript设置获取和设置属性的方法

    2024-05-22 10:35:34
  • 理解 XMLDOM 的节选

    2008-02-17 14:48:00
  • UE、UI、UCD、Interaction Design、UED、UX、HCI、Usability,IA

    2022-09-11 04:22:56
  • golang结构体与json格式串实例代码

    2024-04-27 15:36:44
  • asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码

    2011-04-14 10:39:00
  • 高并发状态下Replace Into造成的死锁问题解决

    2024-01-17 10:17:37
  • Python干货实战之八音符酱小游戏全过程详解

    2021-08-20 11:21:27
  • ASP.NET连接 Access数据库的几种方法

    2024-01-25 15:31:09
  • 修改mysql最大连接数的方法

    2010-03-09 13:57:00
  • Python 删除连续出现的指定字符的实例

    2023-11-21 08:36:15
  • PHP的mysqli_sqlstate()函数讲解

    2023-06-08 14:30:30
  • 什么是Python变量作用域

    2021-12-25 21:36:24
  • python爬虫看看虎牙女主播中谁最“顶”步骤详解

    2022-03-31 09:30:33
  • SQL触发器在保持数据库完整性中的实际应用

    2009-10-23 14:34:00
  • asp之家 网络编程 m.aspxhome.com