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


Posted in Python onAugust 14, 2017

本文实例讲述了Python编程实现控制cmd命令行显示颜色的方法。分享给大家供大家参考,具体如下:

基于win7 + python3.4

运行效果:

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

import ctypes
import sys
'''Windows CMD命令行颜色'''
# 句柄号
STD_INPUT_HANDLE = -10
STD_OUTPUT_HANDLE= -11
STD_ERROR_HANDLE = -12
# 前景色
FOREGROUND_BLACK  = 0x0 # 黑
FOREGROUND_BLUE   = 0x01 # 蓝
FOREGROUND_GREEN  = 0x02 # 绿
FOREGROUND_RED   = 0x04 # 红
FOREGROUND_INTENSITY = 0x08 # 加亮
# 背景色
BACKGROUND_BLUE   = 0x10 # 蓝
BACKGROUND_GREEN  = 0x20 # 绿
BACKGROUND_RED   = 0x40 # 红
BACKGROUND_INTENSITY = 0x80 # 加亮
colors = [FOREGROUND_BLUE, # 蓝字
     FOREGROUND_GREEN,# 绿字
     FOREGROUND_RED, # 红字
     FOREGROUND_BLUE | FOREGROUND_INTENSITY, # 蓝字(加亮)
     FOREGROUND_GREEN | FOREGROUND_INTENSITY, # 绿字(加亮)
     FOREGROUND_RED  | FOREGROUND_INTENSITY, # 红字(加亮)
     FOREGROUND_RED | FOREGROUND_INTENSITY| BACKGROUND_BLUE | BACKGROUND_INTENSITY] # 红字蓝底
texts = ['蓝字',
     '绿字',
     '红字',
     '蓝字(加亮)',
     '绿字(加亮)',
     '红字(加亮)',
     '红字蓝底']
# See "http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_api_reference.asp" for information on Windows APIs.
std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
def set_cmd_color(color, handle=std_out_handle):
  bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)
  return bool
def reset_color():
  set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)
def print_color_text(color, text):
  set_cmd_color(color)
  sys.stdout.write('%s\n' % text) # ==> print(text)
  reset_color()
def print_colors_texts(colors, texts):
  for color, text in zip(colors, texts):
    print_color_text(color, text)
if __name__ == "__main__":
  print_colors_texts(colors, texts)

更多关于Python相关内容可查看本站专题:《Python字符串操作技巧汇总》、《Python常用遍历技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
简单介绍Python中的round()方法
May 15 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
解决安装python库时windows error5 报错的问题
Oct 21 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
Oct 27 Python
python range实例用法分享
Feb 06 Python
将keras的h5模型转换为tensorflow的pb模型操作
May 25 Python
pytorch实现查看当前学习率
Jun 24 Python
Python3爬虫mitmproxy的安装步骤
Jul 29 Python
pycharm专业版远程登录服务器的详细教程
Sep 15 Python
Python实现滑雪小游戏
Sep 25 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 Python
django 创建过滤器的实例详解
Aug 14 #Python
django创建自定义模板处理器的实例详解
Aug 14 #Python
Python微信库:itchat的用法详解
Aug 14 #Python
Python实现的概率分布运算操作示例
Aug 14 #Python
python itchat实现微信好友头像拼接图的示例代码
Aug 14 #Python
python的mysqldb安装步骤详解
Aug 14 #Python
python制作小说爬虫实录
Aug 14 #Python
You might like
整合了前面的PHP数据库连接类~~做成一个分页类!
2006/11/25 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
js数组常用最重要的方法
2018/02/04 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python中reader的next用法
2018/07/24 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
天巡全球:Skyscanner Global
2017/06/20 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
关于毕业的中学校园广播稿
2014/01/26 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
个人违纪检讨书
2014/09/15 职场文书
优质服务标语口号
2015/12/26 职场文书
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
Python保存并浏览用户的历史记录
2022/04/29 Python