Open In App

Print Colors in Python terminal

Last Updated : 27 Jun, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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

Method 1: Print Color Text using colorama Module

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, 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')


Output: 

 

Example 2: Python program to print green text with red background.

Python3




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


Output: 

 

Method 2: Print Color Text using termcolor Module

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 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)


Output: 

 

Method 3: Print Color Text using ANSI Code in Python

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; 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")


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: 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads