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的函数闭包使用中应注意的问题
Jun 20 Python
Python程序中设置HTTP代理
Nov 06 Python
Python反射用法实例简析
Dec 22 Python
使用实现pandas读取csv文件指定的前几行
Apr 20 Python
python使用turtle库绘制时钟
Mar 25 Python
python查看模块安装位置的方法
Oct 16 Python
Flask-WTF表单的使用方法
Jul 12 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
Dec 25 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
Jan 03 Python
python实现文法左递归的消除方法
May 22 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
Sep 26 Python
python爬虫框架feapde的使用简介
Apr 20 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 gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
php语法检查的方法总结
2019/01/21 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
javascript 清除输入框中的数据
2009/04/13 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
python二叉树遍历的实现方法
2013/11/21 Python
如何通过Python实现标签云算法
2019/07/02 Python
opencv实现简单人脸识别
2021/02/19 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
通过实例解析python and和or使用方法
2020/11/14 Python
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
2015年妇幼卫生工作总结
2015/05/23 职场文书
《假如》教学反思
2016/02/17 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL
详解Python生成器和基于生成器的协程
2021/06/03 Python
JavaScript异步操作中串行和并行
2021/11/20 Javascript
pycharm无法安装cv2模块问题
2022/05/20 Python
Vue Element plus使用方法梳理
2022/12/24 Vue.js