Cómo imprimir en color usando python print. Por ejemplo

print('This should be red')
print('This should be green')

Ahora todo es texto blanco sobre fondo negro. Yo uso ubuntu, si ayuda.

respuesta

Defina el color así:

W  = '\033[0m'  # white (normal)
R  = '\033[31m' # red
G  = '\033[32m' # green
O  = '\033[33m' # orange
B  = '\033[34m' # blue
P  = '\033[35m' # purple

print(R+"hello how are you"+W)

Manifestación: Manifestación

ver todos los códigos de color aquí: Códigos de color

Utilice el módulo de color.

import colored
color = colored.fg(196) #orange
print(color + "This text is orange")

https://pypi.org/project/colored/

A continuación hay una función útil que encuentro útil. Imprimirá el texto que proporcione en el primer plano deseado y los colores de fondo que especifique utilizando tuplas RGB estándar para que no tenga que recordar los códigos ANSI. Para encontrar los valores RGB que puede querer usar, puede usar el selector de color en https://www.w3schools.com/colors/colors_picker.asp .

def print_in_color(txt_msg,fore_tupple,back_tupple,):
    #prints the text_msg in the foreground color specified by fore_tupple with the background specified by back_tupple 
    #text_msg is the text, fore_tupple is foregroud color tupple (r,g,b), back_tupple is background tupple (r,g,b)
    rf,gf,bf=fore_tupple
    rb,gb,bb=back_tupple
    msg='{0}' + txt_msg
    mat='\33[38;2;' + str(rf) +';' + str(gf) + ';' + str(bf) + ';48;2;' + str(rb) + ';' +str(gb) + ';' + str(bb) +'m' 
    print(msg .format(mat))
    print('\33[0m') # returns default print color to back to black

# example of use using a message with variables
fore_color='cyan'
back_color='dark green'
msg='foreground color is {0} and the background color is {1}'.format(fore_color, back_color)
print_in_color(msg, (0,255,255),(0,127,127))

Usar un módulo como colorconsolees más fácil:

pip install colorconsole

Entonces, por ejemplo

from colorconsole import terminal

screen = terminal.get_terminal(conEmu=False)

screen.cprint(4, 0, "This is red\n")
screen.cprint(10, 0, "This is light green\n")
screen.cprint(0, 11, "This is black on light cyan\n")

screen.reset_colors()

También admite colores de 256/24 bits si está disponible.

Usa esta Función aquí: Tiene los colores: rojo, azul, verde

colors = {'red':'\033[31m', 'blue':'\033[34m', 'green':'\033[32m'}

def colorprint(string, text_color = 'default', bold = False, underline = False):
    if underline == True:
            string = '\033[4m' + string
    if bold == True:
            string = '\033[1m' + string
    if text_color == 'default' or text_color in colors:
            for color in colors:
                    if text_color == color:
                            string = colors[color] + string
    else:
            raise ValueError ("Colors not in:", colors.keys())

    print(string + '\033[0m')