博客
关于我
python 控制 cmd 命令行颜色
阅读量:796 次
发布时间:2023-03-07

本文共 1553 字,大约阅读时间需要 5 分钟。

基于 Windows 7 + Python 3.4 的颜色设置方法在 Windows 系统中,可以通过 Python 调用 Windows API 来设置 CMD 的文字颜色。以下是实现该功能的代码示例:首先导入必要的库:```pythonimport ctypesimport sys

定义常用颜色值:

STD_INPUT_HANDLE = -10STD_OUTPUT_HANDLE = -11STD_ERROR_HANDLE = -12FOREGROUND_BLACK = 0x0FOREGROUND_BLUE = 0x01FOREGROUND_GREEN = 0x02FOREGROUND_RED = 0x04FOREGROUND_INTENSITY = 0x08BACKGROUND_BLACK = 0x00BACKGROUND_BLUE = 0x10BACKGROUND_GREEN = 0x20BACKGROUND_RED = 0x40BACKGROUND_INTENSITY = 0x80colors = [    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 = [    '蓝字',    '绿字',    '红字',    '蓝字(加亮)',    '绿字(加亮)',    '红字(加亮)',    '红字蓝底']

接下来定义函数来设置颜色:

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 booldef 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)    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)

运行上述代码可看到不同的颜色输出效果:

蓝字绿字红字蓝字(加亮)绿字(加亮)红字(加亮)红字蓝底

转载地址:http://bvofk.baihongyu.com/

你可能感兴趣的文章
python | Python中的弱引用与内存管理
查看>>
python | Python中的类多态:方法重写和动态绑定
查看>>
python | Python作用域链查找机制
查看>>
python | Python俄罗斯方块游戏详解
查看>>
python | Python动态代码执行:exec和compile函数
查看>>
Python读取文件数据进行数据图形化展示
查看>>
python | Python反向迭代:reversed实现机制
查看>>
python | Python开发必知的数据容器用法(建议收藏!)
查看>>
python读取文件夹下文件名称_如何在Python目录中获取文件名列表
查看>>
python | Python文本处理中的相似性识别应用
查看>>
python | Python模块缓存:sys.modules机制
查看>>
python | Python集成学习和随机森林算法
查看>>
python | Python高阶函数与函数式编程
查看>>
python | pytime,一个实用的 时间和日期处理 Python 库!
查看>>
python | pyupgrade,一个有趣的 Python 库!
查看>>
python | pyvips,一个神奇的 图像处理 Python 库
查看>>
Python | qutip,一个高级的 Python 库!
查看>>
python | rapidjson,一个实用的 提高JSON处理效率 Python 库!
查看>>
python | reflex,一个无敌的 Python 库!
查看>>
python | reloading,一个强大的 Python 库!
查看>>