Imprimir colores en la terminal de Python

En este artículo, cubriremos cómo imprimir texto en color en Python utilizando varios métodos para enviar texto en color a la terminal en Python. 

Las formas más comunes de hacer esto son usando:

  • Usando el módulo colorama
  • Uso del módulo termcolor
  • Usando código ANSI en Python

Método 1: Imprimir texto en color usando el módulo colorama

El módulo Colorama es una impresión multiplataforma de texto en color que se puede realizar utilizando la abreviatura constante de Colorama para las secuencias de escape ANSI: 

Ejemplo 1:  programa Python para imprimir texto rojo con fondo verde.

Python3

from colorama import Fore, Back, Style
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

Producción: 

 

Ejemplo 2: programa Python para imprimir texto verde con fondo rojo.

Python3

from colorama import init
from termcolor import colored
 
init()
 
print(colored('Hello, World!', 'green', 'on_red'))

Producción: 

 

Método 2: Imprimir texto en color usando el módulo termcolor

El módulo termcolor es un módulo de python para el formato de color ANSII para la salida en el terminal. 

Ejemplo: programa Python para imprimir texto y fondo en color.

Python3

import sys
from termcolor import colored, cprint
 
text = colored('Hello, World!', 'red', attrs=['reverse', 'blink'])
print(text)
cprint('Hello, World!', 'green', 'on_red')
 
 
def print_red_on_cyan(x): return cprint(x, 'red', 'on_cyan')
 
 
print_red_on_cyan('Hello, World!')
print_red_on_cyan('Hello, Universe!')
 
for i in range(10):
    cprint(i, 'magenta', end=' ')
 
cprint("Attention!", 'red', attrs=['bold'], file=sys.stderr)

Producción: 

 

Método 3: Imprima texto en color usando el código ANSI en Python

La forma más común de imprimir texto en color es mediante la impresión directa de secuencias de escape ANSI . Esto se puede entregar en diferentes formatos, tales como: 

Ejemplo 1: Crear funciones para llamar 

Podemos construir funciones para llamar funciones con nombres de colores particulares para ejecutar la secuencia de escape ANSI relevante. El siguiente es un programa de Python para imprimir texto y fondo en color.

Python3

def prRed(skk): print("\033[91m {}\033[00m" .format(skk))
 
 
def prGreen(skk): print("\033[92m {}\033[00m" .format(skk))
 
 
def prYellow(skk): print("\033[93m {}\033[00m" .format(skk))
 
 
def prLightPurple(skk): print("\033[94m {}\033[00m" .format(skk))
 
 
def prPurple(skk): print("\033[95m {}\033[00m" .format(skk))
 
 
def prCyan(skk): print("\033[96m {}\033[00m" .format(skk))
 
 
def prLightGray(skk): print("\033[97m {}\033[00m" .format(skk))
 
 
def prBlack(skk): print("\033[98m {}\033[00m" .format(skk))
 
 
prCyan("Hello World, ")
prYellow("It's")
prGreen("Geeks")
prRed("For")
prGreen("Geeks")

Producción: 


 

Ejemplo 2: construir una clase de colores

Cree una clase para asignar colores de fondo y de primer plano y llámelos. El siguiente es un programa de Python para imprimir texto y fondo en color.

Python3

class colors:
 
 
'''Colors class:reset all colors with colors.reset; two
sub classes fg for foreground
and bg for background; use as colors.subclass.colorname.
i.e. colors.fg.red or colors.bg.greenalso, the generic bold, disable,
underline, reverse, strike through,
and invisible work with the main class i.e. colors.bold'''
reset = '\033[0m'
bold = '\033[01m'
disable = '\033[02m'
underline = '\033[04m'
reverse = '\033[07m'
 strikethrough = '\033[09m'
  invisible = '\033[08m'
 
   class fg:
        black = '\033[30m'
        red = '\033[31m'
        green = '\033[32m'
        orange = '\033[33m'
        blue = '\033[34m'
        purple = '\033[35m'
        cyan = '\033[36m'
        lightgrey = '\033[37m'
        darkgrey = '\033[90m'
        lightred = '\033[91m'
        lightgreen = '\033[92m'
        yellow = '\033[93m'
        lightblue = '\033[94m'
        pink = '\033[95m'
        lightcyan = '\033[96m'
 
    class bg:
        black = '\033[40m'
        red = '\033[41m'
        green = '\033[42m'
        orange = '\033[43m'
        blue = '\033[44m'
        purple = '\033[45m'
        cyan = '\033[46m'
        lightgrey = '\033[47m'
 
print(colors.bg.green, "SKk", colors.fg.red, "Amartya")
print(colors.bg.lightgrey, "SKk", colors.fg.red, "Amartya")

Producción: 

Ejemplo 3: iteración de funciones

Podemos diseñar secuencias de escape ANSI iterativas y autogeneradas, funciones. El siguiente es un programa de Python para imprimir texto y fondo en color.

Python3

def print_format_table():
    """
    prints table of formatted text format options
    """
    for style in range(8):
        for fg in range(30, 38):
            s1 = ''
            for bg in range(40, 48):
                format = ';'.join([str(style), str(fg), str(bg)])
                s1 += '\x1b[%sm %s \x1b[0m' % (format, format)
            print(s1)
        print('\n')
 
 
print_format_table()

Producción: 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *