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

yipeiwu_com6年前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提取支付宝和微信支付二维码的示例代码

Python提取支付宝和微信支付二维码的示例代码

支付宝或者微信支付导出的收款二维码,除了二维码部分,还有很大一块背景图案,例如下面就是微信支付的收款二维码: 有时候我们仅仅只想要图片中间的方形二维码部分,为了提取出中间部分,我们可以...

使用celery执行Django串行异步任务的方法步骤

前言 Django项目有一个耗时较长的update过程,希望在接到请求运行update过程的时候,Django应用仍能正常处理其他的请求,并且update过程要求不能并行,也不能漏掉任何...

详解Python中for循环的使用方法

详解Python中for循环的使用方法

 for循环在Python中有遍历所有序列的项目,如列表或一个字符串。 语法: for循环语法如下: for iterating_var in sequence: st...

Python Socket编程入门教程

这是用来快速学习 Python Socket 套接字编程的指南和教程。Python 的 Socket 编程跟 C 语言很像。 Python 官方关于 Socket 的函数请看 http:...

PYQT5设置textEdit自动滚屏的方法

在修改后的文字后面加上: self.textEdit_6.moveCursor(QTextCursor.End) 例子: self.textEdit_6.setPlainTe...