python 控制 cmd 命令行颜色

基于win7 + python3.4

 

 

 

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) 

 

时间: 2024-10-29 13:31:45

python 控制 cmd 命令行颜色的相关文章

python调用cmd命令行制作刷博器_python

复制代码 代码如下: import webbrowser as webimport timeimport os count=0while count<10:    count=count+1    #你要刷的博客    web.open_new_tab("这里是博客地址")    time.sleep(1)else:    os.system('taskkill /F /IM  360se.exe') 这里主要学到三个知识点: 1.Python的线程原来是在time模块下 2.P

python 读写-python 调用windows 命令行

问题描述 python 调用windows 命令行 def start(count): log_name ='c:log' +str(count) cmd = 'c:tooltool.exe > ' + log_name os.popen(cmd) 在windows环境下执行tool.exe重定向 循环处理多了 会报错 close failed in file object destructor:IOError: [ERROR 0] Error请问是什么原因? 解决方案 导出的文件打开失败?或者

python在windows命令行下输出彩色文字的方法_python

本文实例讲述了python在windows命令行下输出彩色文字的方法.分享给大家供大家参考.具体分析如下: 默认情况下python在控制台输出的文字信息都是黑白的,如果能将文字做成彩色的输出,输出效果会更完美,也很酷,不是吗,下面是一段演示代码,这段代码封装了一个color类用来输出带颜色的文字,只要调用该类里面的相关方法就可以了,非常简单. 复制代码 代码如下: #!/usr/bin/env python #encoding: utf-8 import ctypes STD_INPUT_HAN

新建了一个windows服务,关机再开机能够自启动,但是用cmd命令行创建此服务需要手动启动

问题描述 有没有什么方法,创建此windows服务之后,不用手动启动,一运行此windows服务,它就自启动了?现在这个windows方法,运行完毕之后,需要手动去启动,但是关机开机之后他能自启动,我想要的是,运行完毕之后能达到像开机关机之后自启动这个情况,希望各位大神指点 解决方案 本帖最后由 a981583536 于 2016-07-11 13:05:10 编辑解决方案二:自己去看下Program.cs的Main函数吧默认如果是服务的话通过ServiceBase.Run来运行你可以自己加个参

现在在EC2 上我开ftp, 在本地cmd 命令行下ftp连接 服务器端,连接成功 ls无法执行?怎么回事?

问题描述 现在在EC2上我开ftp,在本地cmd命令行下ftp连接服务器端,连接成功ls无法执行?怎么回事? 解决方案 解决方案二:用户没有读权限,可以试试get或put命令或者被>符号骗了,其实没有登录成功解决方案三:防火墙问题,ftp分控制连接和数据连接,21端口的控制连接OK,数据连接被FW阻断了,查看下 EC2的安全组连接或是本地网络问题.

win7 32位系统CMD命令行提示“不是内部或者外部命令”的解决方法

  很多win7系统用户利用CMD命令查询系统的信息或者是判断网络的好坏.CMD命令能够帮助用户更好的操作使用电脑.不过在使用该命令时也会出现一些问题,比如有win7 32位系统用户反馈在CMD命令行中输入任何命令,系统都提示不是内部或者外部命令,也不是可运行的程序或者批处理文件.那么遇到这种情况我们该如何解决呢?下面小编跟大家分享下关于这个问题的解决方法! 方法如下: 1.鼠标点击win7 32位系统"开始"菜单,选择"运行"选项; 2.在打开的运行对话框中输入&

ide-c程序用cmd命令行编译链接的exe跟在IDE中生成的一样么?

问题描述 c程序用cmd命令行编译链接的exe跟在IDE中生成的一样么? 就是用cl命令生成的exe,和visual c++6.0的对比,是否一样,如果不一样怎么让他们一样? 解决方案 主要是一些编译选项,你cl命令行需要自己跟VC所配置的编译选项一致. 解决方案二: 你可以写一个小程序: void main(int argc, char ** args) { for (int i = 0; i < argc; i++) cout << args[i] << endl; sy

同样的python程序在命令行中与python shell,eclipse中的运行结果不一样

问题描述 同样的python程序在命令行中与python shell,eclipse中的运行结果不一样 我在做leetcode题的时候写的python程序中包含如下一段代码: res = int(a, 2) + int(b, 2) ans = [] while res > 0: t = str(res % 2) 结果我先在python shell里面运行这个程序会报错: 然而我在python shell里面运行类似的代码,也把一个整型存放到res里,就没有问题: 同样在eclipse中运行也是正

我想通过cmd命令行去调一个jar包的bat脚本怎么写?

问题描述 RT:我想启动一个cmd命令行窗口执行命令调用F:TESTtest.jar,脚本应该怎么写?1.启动一个cmd控制台2.可以在任意目录执行:java -jar test.jar3.打开的cmd控制台不关闭,可以实时打印输出信息(如截图cmd.png)另外帮忙写个停止执行该jar包的java进程的bat脚本,谢谢! 解决方案 打开的cmd控制台不关闭,可以在执行:java -jar test.jar 下面一行加上pause