本文共 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/