Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Resetear color de la consola después de darle color
#1
Me explico, tengo un función llamada textcolor(), que le da un color a la consola, en este caso rojo, pero luego quiero que si una variable, que en este caso es vResetcolor y es True, la función textcolor al darle color a un texto en pantalla, ya no le dará color al siguiente print
, osea el siguiente print se imprimirá sin color.
Aca les dejo un ejemplo gráfico de lo que quiero:

[Imagen: 6BTEQ5O.png]
Para quitar el color se debió usar una función que en este caso es resetvideo(), pero como decía antes, quiero que se resetee automáticamente el color si la variable ya antes mencionada es True.
Les dejo el código:
Código:
[code]
vResetcolor = True

Black = ";30"
Gray = ";1;30"
Blue = ";34"
Cyan = ";36"
Green = ";32"
Magenta = ";35"
Red = ";31"
Yellow = ";33"
White = ";37"
abgcolor = Black
acolor = White

def resetvideo():
       print("x1b[;0m")

def textcolor(color):
       bgcol = abgcolor
       print("x1b[%s%sm" % (color, bgcol))
       global acolor
       acolor = color
       return ""

[/code]
y acá para Windows:
Código:
[code]
import ctypes

vResetcolor = True

STD_INPUT_HANDLE = -10
STD_OUTPUT_HANDLE = -11
STD_ERROR_HANDLE = -12
LF_FACESIZE = 32

std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)

Black = 0
Blue = 1
Green = 2  
Red = 4
Yellow = 6
Cyan = 3
Magenta = 5
White = 7
Gray = 8

abgcolor = Black
acolor = White

def resetvideo():
       ctypes.windll.kernel32.SetConsoleTextAttribute(std_out_handle, 0|7)

def textcolor(color):
       bgcol = abgcolor
       ctypes.windll.kernel32.SetConsoleTextAttribute(std_out_handle, color | bgcol)
       global acolor
       acolor = color
       return ""
[/code]

Saludos
Responder


Mensajes en este tema
Resetear color de la consola después de darle color - por konniskatt - 22-09-2018, 05:44 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)