我正在尝试修补一个waf 问题,在该问题中,Windows 命令提示符输出在应有的情况下没有着色。我试图弄清楚如何实际实施此补丁,但我无法找到足够的资源 - 有人能指出我正确的方向吗?
更新 1
请不要提出任何需要 Cygwin 的建议。
我正在尝试修补一个waf 问题,在该问题中,Windows 命令提示符输出在应有的情况下没有着色。我试图弄清楚如何实际实施此补丁,但我无法找到足够的资源 - 有人能指出我正确的方向吗?
请不要提出任何需要 Cygwin 的建议。
多亏了 ctypes 和SetConsoleTextAttribute
这是一个例子
from ctypes import *
STD_OUTPUT_HANDLE_ID = c_ulong(0xfffffff5)
windll.Kernel32.GetStdHandle.restype = c_ulong
std_output_hdl = windll.Kernel32.GetStdHandle(STD_OUTPUT_HANDLE_ID)
for color in xrange(16):
windll.Kernel32.SetConsoleTextAttribute(std_output_hdl, color)
print "hello"
如果你热衷于为 Python 交互式解释器使用普通的 cmd.exe 控制台,请参阅这个秘籍。如果您可以使用模拟控制台的特殊窗口,例如因为无论如何您还需要更高级的诅咒功能,那么@TheLobster 对 wcurses 的建议就可以了。