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

新手小白,一直在为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窗口显示彩色文字就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

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

    本文实例讲述了python在windows命令行下输出彩色文字的方法.分享给大家供大家参考.具体分析如下: 默认情况下python在控制台输出的文字信息都是黑白的,如果能将文字做成彩色的输出,输出效果会更完美,也很酷,不是吗,下面是一段演示代码,这段代码封装了一个color类用来输出带颜色的文字,只要调用该类里面的相关方法就可以了,非常简单. 复制代码 代码如下: #!/usr/bin/env python #encoding: utf-8 import ctypes STD_INPUT_HAN

  • python通过colorama模块在控制台输出彩色文字的方法

    本文实例讲述了python通过colorama模块在控制台输出彩色文字的方法.分享给大家供大家参考.具体分析如下: colorama是一个python专门用来在控制台.命令行输出彩色文字的模块,可以跨平台使用,在windows下linux下都工作良好,如果你想让控制台的输出信息更漂亮一些,可以使用给这个模块. colorama官方地址:https://pypi.python.org/pypi/colorama 安装colorama模块 pip install colorama 使用范例 from

  • Python编程实现控制cmd命令行显示颜色的方法示例

    本文实例讲述了Python编程实现控制cmd命令行显示颜色的方法.分享给大家供大家参考,具体如下: 基于win7 + python3.4 运行效果: import ctypes import sys '''Windows CMD命令行颜色''' # 句柄号 STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE= -11 STD_ERROR_HANDLE = -12 # 前景色 FOREGROUND_BLACK = 0x0 # 黑 FOREGROUND_BLUE = 0

  • python在linux中输出带颜色的文字的方法

    在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中.而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息. 我们可以通过对有用的信息设置不同颜色来达到醒目的效果,因为我平时都是在linux下开发,而linux终端中的颜色是用转义序列控制的,转义序列是以ESC开头,可以用\033完成相同的工作(ESC的ASCII码用十进制表示就是27,等于用八进制表示的33). 书写格式,和相关说明如下: 复制代码

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

    新手小白,一直在为cmd窗口的暗白色文字感到苦恼,在网上找了许多方法(也就那两种吐舌头),现在稍微整理了一下,便于使用. 效果图: import ctypes STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE= -11 STD_ERROR_HANDLE = -12 FOREGROUND_DARKBLUE = 0x01 # 暗蓝色 FOREGROUND_DARKGREEN = 0x02 # 暗绿色 FOREGROUND_DARKSKYBLUE = 0x03 # 暗天

  • python 实现在shell窗口中编写print不向屏幕输出

    前言 由于需要在python的shell窗口中直接写函数,而函数代码中需要有print,而通常写入print换行后都会向屏幕输出, 所以有了以下解决方案: 例子 其实也什么特别,就是在编写函数时,函数里面的每句代码前面都加上tab进行缩进. 以上这篇python 实现在shell窗口中编写print不向屏幕输出就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python在cmd上打印彩色文字实现过程详解

    前言 在Windows上编写python程序时,有时候需要对输出的文字颜色进行设置,特别是日志显示,不同级别的日志设置不同的颜色进行展示可以直观查看.本文主要描述通过ctypes.windll.kernel32调用GetStdHandle()和SetConsoleTextAttribute()两个API实现来实现Windows控制台的彩色背景及彩色文字. 基本概念描述 首先分别介绍GetStdHandle()和SetConsoleTextAttribute()这两个API. (1) GetStd

  • pyqt 实现在Widgets中显示图片和文字的方法

    思路非常简单:<p>创建window,设置窗口大小,创建label1,导入图片,创建label2,导入文字,show,结束!</p> import sys from PyQt5 import QtWidgets,QtGui #定义窗口函数window def window(): #我事实上不太明白干嘛要这一句话,只是pyqt窗口的建立都必须调用QApplication方法 app=QtWidgets.QApplication(sys.argv) #新建一个窗口,名字叫做w w=Qt

  • 解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题

    以下面的代码为例 import os os.system("ping www.baidu.com") 在pycharm界面运行后会显示乱码,如下图所示 网上很多无用的教程,说什么在代码里加一行"#coding=utf-8",然而并没什么用! #coding=utf-8 import os os.system("ping www.baidu.com") 我只讲干货, 其实方法很简单,在pycharm里,file–settings–code styl

  • selenium+python 去除启动的黑色cmd窗口方法

    其实 selenium启动窗口的时候就是 使用了subprocess.Popen 启动的驱动程序的,只要在启动的时候加上启动不显示窗口的参数即可. 下面魔改开始O(∩_∩)O哈哈~ 修改代码 位于 D:\Python35\Lib\site-packages\selenium\webdriver\common\service.py 主要是 Service类的start函数 def start(self): """ Starts the Service. :Exceptions:

  • python应用程序在windows下不出现cmd窗口的办法

    python写的GTK程序,会有这样一个怪现象,本来在cmd下用 python xxx.py 启动,还好好的,但是用py2exe编译以后,再用subprocess调用命令行程序的时候,就发现一个黑乎乎的cmd窗口跳出来了,特别难看,要消除它其实也还比较容易,但是要使用startupinfo这个windows only的参数,以下代码是linux和windows通用的例子: 复制代码 代码如下: if os.name == 'nt':    startupinfo = subprocess.STA

  • Windows和Linux下Python输出彩色文字的方法教程

    前言 最近在项目中需要输出彩色的文字来提醒用户,以前写过,但是只能在win上面运行. 今天搜了下看有没有在win和Linux上通用的输出彩色文字的模块,结果发现没有,,于是就自己弄了一个,分享下,以后用的时候翻翻博客,方便别人也方便自己. win下输出彩色文字,网上有两种方法一种是用system执行命令来设置颜色,感觉还是不太好,用ctypes模块实现更好点. linux下设置颜色,网上只找到了一种方法,下面不废话了,直接贴下代码: 示例代码 import platform if 'Window

随机推荐