python改变windows终端log信息颜色

2019-07-31  本文已影响0人  yushengzhou
平时写脚本的时候为了让dos窗口的文字多样化,便于查看 (本文只适合windows系统,网上很多教程都是只能用于linux,所以有了这篇记录)
直接搞个示例代码(可以拷贝运行的试试)

'''
import ctypes

STD_OUT = -11
handle = ctypes.windll.kernel32.GetStdHandle(STD_OUT)
ctypes.windll.kernel32.SetConsoleTextAttribute(handle, 0x0c)#设置红色
print('12345')
ctypes.windll.kernel32.SetConsoleTextAttribute(handle, 0x0f)#恢复白色
'''

不出意外 '12345'应该红色字
简单说明下代码意思

主要用到两个API:
GetStdHandle ------------- 获取句柄,需要一个参数,参数可以为 -10, -11, -12分别代表:标准输入,标准输出,标准出差(上面演示代码使用的标准输出)

SetConsoleTextAttribute ------ 设置文本颜色,第一个参数为获取到的句柄,第二个参数为要设置的颜色,颜色与数值对应关系如下
'''
0x00 # black. 黑
0x01 # dark blue.
0x02 # dark green.
0x03 # dark skyblue.
0x04 # dark red. 红
0x05 # dark pink.
0x06 # dark yellow.
0x07 # dark white.
0x08 # dark gray.
0x09 # blue.
0x0a # green.
0x0b # skyblue.
0x0c # red.
0x0d # pink.
0x0e # yellow. 黄
0x0f # white. 白
'''

参考文件:
(https://www.cnblogs.com/linyfeng/p/8286506.html
)
(https://my.oschina.net/bluefly/blog/311209
)

上一篇下一篇

猜你喜欢

热点阅读