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
随机推荐
- 性能排查--CPU占用高
排查思路: 1.先找到占用CPU高的进程PID top命令 2.top -H -p <PID> 查看哪个占用CPU高的线程TID 3.jstack <PID> /ho ...
- [转帖]开源的监控技术栈除了ELK,还有InfluxData的TICK
开源的监控技术栈除了ELK,还有InfluxData的TICK https://cloud.tencent.com/developer/news/357119 来源 | Influxdata 译者 ...
- SQL Server解惑——为什么你的查询结果超出了查询时间范围
原文:SQL Server解惑--为什么你的查询结果超出了查询时间范围 废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇 ...
- 数据库连接池的sqlhelper
import pymysql import threading from DBUtils.PooledDB import PooledDB """ storage = { ...
- Django:登录、注册、退出
创建项目: 一.创建项目 django-admin startproject form_test 二.创建应用 1.cd form_test 2.sudo ./manage.py startapp f ...
- Web开发Flask框架学习笔记
Python 是一种跨平台的[计算机程序设计语言],是一种面向对象的动态类型语言,Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public Lice ...
- 解决FileInputStream 读取文件中文乱码问题(转)
当Java中使用 FileInputStream 读取txt等文档时,中文会产生乱码,解决方法如下: try { fis = new FileInputStream(file); InputStrea ...
- C#面向对象10 继承
1.继承: **** 我们可能会在一些类中,写一些重复的成员.我们可以将这些重复的成员,单独的封装到一个类中,作为这些类的父类. Student,Teacher,Driver ----子类 派生类 ...
- aspose导出数据
注意 aspose合并单元格后设置单元格样式要一格一格的设置 public class InvoiceAsposeExcel { /// <summary> /// 导出数据 /// &l ...
- Laravel save部分字段失效的bug问题解决
问题描述:今天在编写api的更新部分,发现有部分字段怎么更新都更新不上去. 问题排查: 经过多次测试,发现每次提交只能更新部分字段,字段分别为:id,user_id,device_room_id,na ...