首页 > 代码库 > Python实现Windows CMD命令行彩色输出
Python实现Windows CMD命令行彩色输出
#! /usr/bin/env python
#coding=utf-8
import
ctypes,sys
STD_INPUT_HANDLE
=
-
10
STD_OUTPUT_HANDLE
=
-
11
STD_ERROR_HANDLE
=
-
12
# 字体颜色定义 ,关键在于颜色编码,由2位十六进制组成,分别取0~f,前一位指的是背景色,后一位指的是字体色
#由于该函数的限制,应该是只有这16种,可以前景色与背景色组合。也可以几种颜色通过或运算组合,组合后还是在这16种颜色中
# Windows CMD命令行 字体颜色定义 text colors
FOREGROUND_BLACK
=
0x00
# black.
FOREGROUND_DARKBLUE
=
0x01
# dark blue.
FOREGROUND_DARKGREEN
=
0x02
# dark green.
FOREGROUND_DARKSKYBLUE
=
0x03
# dark skyblue.
FOREGROUND_DARKRED
=
0x04
# dark red.
FOREGROUND_DARKPINK
=
0x05
# dark pink.
FOREGROUND_DARKYELLOW
=
0x06
# dark yellow.
FOREGROUND_DARKWHITE
=
0x07
# dark white.
FOREGROUND_DARKGRAY
=
0x08
# dark gray.
FOREGROUND_BLUE
=
0x09
# blue.
FOREGROUND_GREEN
=
0x0a
# green.
FOREGROUND_SKYBLUE
=
0x0b
# skyblue.
FOREGROUND_RED
=
0x0c
# red.
FOREGROUND_PINK
=
0x0d
# pink.
FOREGROUND_YELLOW
=
0x0e
# yellow.
FOREGROUND_WHITE
=
0x0f
# white.
# Windows CMD命令行 背景颜色定义 background colors
BACKGROUND_BLUE
=
0x10
# dark blue.
BACKGROUND_GREEN
=
0x20
# dark green.
BACKGROUND_DARKSKYBLUE
=
0x30
# dark skyblue.
BACKGROUND_DARKRED
=
0x40
# dark red.
BACKGROUND_DARKPINK
=
0x50
# dark pink.
BACKGROUND_DARKYELLOW
=
0x60
# dark yellow.
BACKGROUND_DARKWHITE
=
0x70
# dark white.
BACKGROUND_DARKGRAY
=
0x80
# dark gray.
BACKGROUND_BLUE
=
0x90
# blue.
BACKGROUND_GREEN
=
0xa0
# green.
BACKGROUND_SKYBLUE
=
0xb0
# skyblue.
BACKGROUND_RED
=
0xc0
# red.
BACKGROUND_PINK
=
0xd0
# pink.
BACKGROUND_YELLOW
=
0xe0
# yellow.
BACKGROUND_WHITE
=
0xf0
# white.
# get handle
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
#reset white
def
resetColor():
set_cmd_text_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)
###############################################################
#暗蓝色
#dark blue
def
printDarkBlue(mess):
set_cmd_text_color(FOREGROUND_DARKBLUE)
sys.stdout.write(mess)
resetColor()
#暗绿色
#dark green
def
printDarkGreen(mess):
set_cmd_text_color(FOREGROUND_DARKGREEN)
sys.stdout.write(mess)
resetColor()
#暗天蓝色
#dark sky blue
def
printDarkSkyBlue(mess):
set_cmd_text_color(FOREGROUND_DARKSKYBLUE)
sys.stdout.write(mess)
resetColor()
#暗红色
#dark red
def
printDarkRed(mess):
set_cmd_text_color(FOREGROUND_DARKRED)
sys.stdout.write(mess)
resetColor()
#暗粉红色
#dark pink
def
printDarkPink(mess):
set_cmd_text_color(FOREGROUND_DARKPINK)
sys.stdout.write(mess)
resetColor()
#暗黄色
#dark yellow
def
printDarkYellow(mess):
set_cmd_text_color(FOREGROUND_DARKYELLOW)
sys.stdout.write(mess)
resetColor()
#暗白色
#dark white
def
printDarkWhite(mess):
set_cmd_text_color(FOREGROUND_DARKWHITE)
sys.stdout.write(mess)
resetColor()
#暗灰色
#dark gray
def
printDarkGray(mess):
set_cmd_text_color(FOREGROUND_DARKGRAY)
sys.stdout.write(mess)
resetColor()
#蓝色
#blue
def
printBlue(mess):
set_cmd_text_color(FOREGROUND_BLUE)
sys.stdout.write(mess)
resetColor()
#绿色
#green
def
printGreen(mess):
set_cmd_text_color(FOREGROUND_GREEN)
sys.stdout.write(mess)
resetColor()
#天蓝色
#sky blue
def
printSkyBlue(mess):
set_cmd_text_color(FOREGROUND_SKYBLUE)
sys.stdout.write(mess)
resetColor()
#红色
#red
def
printRed(mess):
set_cmd_text_color(FOREGROUND_RED)
sys.stdout.write(mess)
resetColor()
#粉红色
#pink
def
printPink(mess):
set_cmd_text_color(FOREGROUND_PINK)
sys.stdout.write(mess)
resetColor()
#黄色
#yellow
def
printYellow(mess):
set_cmd_text_color(FOREGROUND_YELLOW)
sys.stdout.write(mess)
resetColor()
#白色
#white
def
printWhite(mess):
set_cmd_text_color(FOREGROUND_WHITE)
sys.stdout.write(mess)
resetColor()
##################################################
#白底黑字
#white bkground and black text
def
printWhiteBlack(mess):
set_cmd_text_color(FOREGROUND_BLACK | BACKGROUND_WHITE)
sys.stdout.write(mess)
resetColor()
#白底黑字
#white bkground and black text
def
printWhiteBlack_2(mess):
set_cmd_text_color(
0xf0
)
sys.stdout.write(mess)
resetColor()
#黄底蓝字
#white bkground and black text
def
printYellowRed(mess):
set_cmd_text_color(BACKGROUND_YELLOW | FOREGROUND_RED)
sys.stdout.write(mess)
resetColor()
##############################################################
if
__name__
=
=
‘__main__‘
:
print
printDarkBlue(u
‘printDarkBlue:暗蓝色文字\n‘
.encode(
‘gb2312‘
))
printDarkGreen(u
‘printDarkGreen:暗绿色文字\n‘
.encode(
‘gb2312‘
))
printDarkSkyBlue(u
‘printDarkSkyBlue:暗天蓝色文字\n‘
.encode(
‘gb2312‘
))
printDarkRed(u
‘printDarkRed:暗红色文字\n‘
.encode(
‘gb2312‘
))
printDarkPink(u
‘printDarkPink:暗粉红色文字\n‘
.encode(
‘gb2312‘
))
printDarkYellow(u
‘printDarkYellow:暗黄色文字\n‘
.encode(
‘gb2312‘
))
printDarkWhite(u
‘printDarkWhite:暗白色文字\n‘
.encode(
‘gb2312‘
))
printDarkGray(u
‘printDarkGray:暗灰色文字\n‘
.encode(
‘gb2312‘
))
printBlue(u
‘printBlue:蓝色文字\n‘
.encode(
‘gb2312‘
))
printGreen(u
‘printGreen:绿色文字\n‘
.encode(
‘gb2312‘
))
printSkyBlue(u
‘printSkyBlue:天蓝色文字\n‘
.encode(
‘gb2312‘
))
printRed(u
‘printRed:红色文字\n‘
.encode(
‘gb2312‘
))
printPink(u
‘printPink:粉红色文字\n‘
.encode(
‘gb2312‘
))
printYellow(u
‘printYellow:黄色文字\n‘
.encode(
‘gb2312‘
))
printWhite(u
‘printWhite:白色文字\n‘
.encode(
‘gb2312‘
))
printWhiteBlack(u
‘printWhiteBlack:白底黑字输出\n‘
.encode(
‘gb2312‘
))
printWhiteBlack_2(u
‘printWhiteBlack_2:白底黑字输出(直接传入16进制参数)\n‘
.encode(
‘gb2312‘
))
printYellowRed(u
‘printYellowRed:黄底红字输出\n‘
.encode(
‘gb2312‘
))
Python实现Windows CMD命令行彩色输出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。