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命令行彩色输出的更多相关文章
- 【转】Python实现修改Windows CMD命令行输出颜色(完全解析)
用Python写命令行程序的时候,单一的输出颜色太单调.其实我们可以加些色彩,比如用红色表示警告,绿色表示结果正常等.网上也有几篇类似的帖子,但是没有把问题讲清楚,贴的代码也不是太清晰.这里,对Win ...
- SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法
create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...
- Windows cmd 命令行基本操作
Windows cmd 命令行基本操作 1. 进入到指定根目录 注意:不区分大小写 例如进入到 D 盘 2. 进入到指定的目录 例如 (如果目录文件名太长,可以使用 tab 键来自动补全.重复按可以进 ...
- 【Python】解决Python脚本 在cmd命令行窗口运行时,中文乱码问题
问题描述 python2.X,代码中指定了UTF-8,但是在cmd命令行窗口时,打印的中文仍然会乱码 在python3不存在该问题 运行结果: 原因 搜索得知,中文windows默认的输出编码为gbk ...
- Windows 在命令行中将输出内容放到文件中
1.将命令行中输出的内容存储到文件中. 使用重定向符号 “>” 就可以了. 通过 > 可以创建新文件并将内容放到文件中,如果文件存在,则会覆盖. 2.通过 >> 可以向已有的文 ...
- 从windows CMD 命令行(CMD promp)运行Docker
英文原帖 Running Docker from Windows CMD prompt https://medium.com/@neil.avery_68603/running-docker-from ...
- windows cmd命令行下创建文件和文件夹
在window下无法通过 右键=>新建 命令来创建以点开头的文件和文件夹 比如 .log ,会提示必须输入文件名. 可以通过命令行来创建 新建文件夹 mkdir .vs 新建文件 type NU ...
- 复制windows CMD命令行中的内容
标记文本后,按"回车",或鼠标"右键"为从CMD中复制文本. 在CMD中,按鼠标"右键",为在CMD中粘贴文本.
- windows cmd 命令行 —— 进程与服务
1. 进程查看与操作 tasklist tskill pid 2. 服务查看与操作 net start net stop
随机推荐
- [校内模拟赛T3]火花灿灿_二分答案_组合数学_贪心
火花灿灿 题目: 数据范围: 题解: 这个题真的是个神仙题. 我们对于每块石头维护一个$01$串. 这个$01$串的长度是操作次数. 如果$01$串的当前位是$1$,表示这次操作中当前石子被划分到了贡 ...
- [转帖]PKI技术原理(收集 整理 归纳)
PKI技术原理(收集 整理 归纳) https://blog.51cto.com/3layer/20430 总结归纳的 灰常好.. 7layer关注8人评论39427人阅读2007-03-14 11: ...
- Spring4学习回顾之路02—IOC&DI
IOC&DI介绍 ●IOC:(Inversion of Control) :控制反转(反向获取资源) 其思想是反转资源获取的方向.传统的资源上查找方式要求组件向容器发起请求查找资源,作为回应, ...
- Linux操作系统文档
一 Linux操作系统概述 l为什么要学习Linux操作系统: 1. 大部分服务端都是使用Linux操作系统(Django,爬虫,科学运算等项目是部署到服务器中的) 2. 一些企业和学校(国外学校 ...
- JWT的认识和session的区别
1.前后端分离框架中前端和后端域名不同,不能跨域请求,加上移动端无cookie,所以无法使用session.2.基于token的认证和传统的session认证的区别: 传统的session认证: 我们 ...
- http请求之of_ordering_getmiditem
//Public function of_ordering_getmiditem (string as_instr,string as_key) returns string //string as_ ...
- Asp.Net Core 中间件
什么是中间件(Middleware)? 中间件是组装到应用程序管道中以处理请求和响应的软件. 每个组件: 选择是否将请求传递给管道中的下一个组件. 可以在调用管道中的下一个组件之前和之后执行工作. 请 ...
- luogu题解P2312解方程--暴力模+秦九韶
题目链接 https://www.luogu.org/problemnew/show/P2312 分析 这道题很毒啊,这么大的数. 但是如果多项式\(\sum_{i=0}^N a[i]*X^i=0\) ...
- git clone ssh 时出现 fatal: Could not read from remote repository
一.问题及解决办法参考: 在 ubuntu 中,要把 GitHub 上的储存库克隆到计算机上时,执行如下命令: git clone git@github.com:USER-NAME/REPOSITOR ...
- Vue中的key到底有什么用?
key是为Vue中的vnode标记的唯一id,通过这个key,我们的diff操作可以更准确.更快速 diff算法的过程中,先会进行新旧节点的首尾交叉对比,当无法匹配的时候会用新节点的key与旧节点进行 ...