Print Colors in Python terminal

27 Jun, 2022
In this article, we will cover how to print colored text in Python using several methods to output colored text to the terminal in Python. 
The most common ways to do this are using:
Using colorama Module
Using termcolor Module
Using ANSI Code in Python
Colorama module is a Cross-platform printing of colored text can then be done using Colorama’s constant shorthand for ANSI escape sequences: 
Example 1:  Python program to print red text with green background.
Python3
from colorama import Fore, Back, Styleprint(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')
Output: 
 
Example 2: Python program to print green text with red background.
Python3
from colorama import initfrom termcolor import colored init() print(colored('Hello, World!', 'green', 'on_red'))
Output: 
 
termcolor module is a python module for ANSII Color formatting for output in the terminal. 
Example: Python program to print colored text and background.
Python3
import sysfrom 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)
Output: 
 
The most common way to print colored text is by printing ANSI escape sequences directly. This can be delivered in different formats such as: 
Example 1: Build Functions to call 
We can build functions to call particular color named functions to execute the relevant ANSI Escape Sequence. The below is Python program to print colored text and background
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")
Output: 
 
Example 2: Build a class of colors
Create a class to allot background and foreground colors and call them. The below is Python program to print colored text and background.
Python3
class colors:  '''Colors class:reset all colors with colors.reset; twosub classes fg for foregroundand 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")
Output: 
Example 3: Iterating functions
We can design iterating & self-generating ANSI Escape sequence, functions. The below is Python program to print colored text and background
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()
Output: 
alexbodnaru
surajkumarguptaintern
Python-Library
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.