python实现在cmd窗口显示彩色文字

yipeiwu_com7年前Python基础

新手小白,一直在为cmd窗口的暗白色文字感到苦恼,在网上找了许多方法(也就那两种吐舌头),现在稍微整理了一下,便于使用。

效果图:

import ctypes
 
STD_INPUT_HANDLE = -10 
STD_OUTPUT_HANDLE= -11 
STD_ERROR_HANDLE = -12 
 
FOREGROUND_DARKBLUE = 0x01 # 暗蓝色
FOREGROUND_DARKGREEN = 0x02 # 暗绿色
FOREGROUND_DARKSKYBLUE = 0x03 # 暗天蓝色
FOREGROUND_DARKRED = 0x04 # 暗红色
FOREGROUND_DARKPINK = 0x05 # 暗粉红色
FOREGROUND_DARKYELLOW = 0x06 # 暗黄色
FOREGROUND_DARKWHITE = 0x07 # 暗白色
FOREGROUND_DARKGRAY = 0x08 # 暗灰色
FOREGROUND_BLUE = 0x09 # 蓝色
FOREGROUND_GREEN = 0x0a # 绿色
FOREGROUND_SKYBLUE = 0x0b # 天蓝色
FOREGROUND_RED = 0x0c # 红色
FOREGROUND_PINK = 0x0d # 粉红色
FOREGROUND_YELLOW = 0x0e # 黄色
FOREGROUND_WHITE = 0x0f # 白色
 
std_out_handle=ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
 
def set_cmd_text_color(color, handle=std_out_handle):
  Bool=ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)
  return Bool
 
def resetColor():
  set_cmd_text_color(FOREGROUND_DARKWHITE)
 
def cprint(mess,color):
  if color=='暗蓝色':
    set_cmd_text_color(FOREGROUND_DARKBLUE)
 
  elif color=='暗绿色':
    set_cmd_text_color(FOREGROUND_DARKGREEN)
 
  elif color=='暗天蓝色':
    set_cmd_text_color(FOREGROUND_DARKSKYBLUE)
    
  elif color=='暗红色':
    set_cmd_text_color(FOREGROUND_DARKRED)
 
  elif color=='暗粉红色':
    set_cmd_text_color(FOREGROUND_DARKPINK)
    
  elif color=='暗黄色':
    set_cmd_text_color(FOREGROUND_DARKYELLOW)
 
  elif color=='暗白色':
    set_cmd_text_color(FOREGROUND_DARKWHITE)
 
  elif color=='暗灰色':
    set_cmd_text_color(FOREGROUND_DARKGRAY)
 
  elif color=='蓝色':
    set_cmd_text_color(FOREGROUND_BLUE)
 
  elif color=='绿色':
    set_cmd_text_color(FOREGROUND_GREEN)
 
  elif color=='天蓝色':
    set_cmd_text_color(FOREGROUND_SKYBLUE)
 
  elif color=='红色':
    set_cmd_text_color(FOREGROUND_RED)
 
  elif color=='粉红色':
    set_cmd_text_color(FOREGROUND_PINK)
 
  elif color=='黄色':
    set_cmd_text_color(FOREGROUND_YELLOW)
 
  elif color=='白色':
    set_cmd_text_color(FOREGROUND_WHITE)
    
  print(mess)
  resetColor()
 
if __name__=='__main__':
  while 1:
    mess=input('信息:')
    color=input('颜色:')
    cprint(mess,color)

使用方法:

from cmdFontColor import *

cprint('信息','颜色')

以上这篇python实现在cmd窗口显示彩色文字就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python面向对象class类属性及子类用法分析

本文实例讲述了Python面向对象class类属性及子类用法。分享给大家供大家参考,具体如下: class类属性 class Foo(object): x=1.5 foo=Foo...

numpy.random.seed()的使用实例解析

这个函数的使用方法,已经有前辈讲解过了,只是自己在测试的时候有一些思考,所以便写了这篇博客。下面是前辈文章的原话: seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相...

Python利用Django如何写restful api接口详解

Python利用Django如何写restful api接口详解

前言 用Python如何写一个接口呢,首先得要有数据,可以用我们在网站上爬的数据,在上一篇文章中写了如何用Python爬虫,有兴趣的可以看看:/post/141661.htm 大量的数...

Python正则表达式匹配ip地址实例

本文实例讲述了正则表达式匹配ip地址实例。代码结构非常简单易懂。分享给大家供大家参考。 主要实现代码如下: import re reip = re.compile(r'(?&...

python中树与树的表示知识点总结

python中树与树的表示知识点总结

一、什么是树 客观世界中许多事物存在层次关系 人类社会家谱社会组织结构图书信息管理 其中,人类社会家谱如下图所示: 通过上述所说的分层次组织,能够使我们在数据的管理上有更高的效率!那么...