博客
关于我
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 subprocess Permission denied Errno 13
查看>>
Python subprocess.call - 将变量添加到 subprocess.call
查看>>
Python Subprocess.Popen 从一个线程
查看>>
Python subprocess.Popen() 等待完成
查看>>
Python Sympy模块NoConversion:收敛到根失败;请尝试n<;15或MaxSteps>;50
查看>>
python time模块
查看>>
Python Tkinter Multiple Windows 教程
查看>>
Python tkinter 中的多处理
查看>>
python谷歌翻译,2021年9月10日亲测可用,一次可以翻译十万,强烈star
查看>>
Python UI自动化测试数据驱动实战
查看>>
Python UI自动化测试集成UnitTest
查看>>
Python UI自动化测试集成UnitTest
查看>>
python unicode-escape
查看>>
Python unittest mock:是否可以在测试时模拟方法默认参数的值?
查看>>
Python unittest单元测试框架 TestSuite测试套件
查看>>
PYTHON调离线语音合成并实时播放
查看>>
python unittest高级特性!
查看>>
Python unittest:如何将标准输出消息临时重定向到缓冲区并测试其内容?
查看>>
Python urllib/Requests下载文件失败,但浏览器下载失败
查看>>
Python urllib2 文件上传问题
查看>>