Como faço para usar cores com comando do Windows aviso usando Python?
-
19-09-2019 - |
Pergunta
Eu estou tentando remendar um waf questão , onde a saída prompt de comando do Windows não é colorido quando é suposto ser. Eu estou tentando descobrir como realmente implementar este patch, mas eu estou tendo dificuldades para encontrar recursos suficientes? - poderia alguém ponto-me na direcção certa ??p>
Update 1
Por favor, não sugerem qualquer coisa que requer Cygwin.
Solução
É possível graças a ctypes e SetConsoleTextAttribute
Aqui está um exemplo
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"
Outras dicas
Se você está interessado em usar consoles cmd.exe normais para o interpretador interativo do Python, consulte este receita. Se você está OK com o uso de janelas especiais simulando um console, por exemplo, porque você também precisa funcionalidade maldições mais avançada de qualquer maneira, então @ sugestão de wcurses de TheLobster é apenas multa.