Print Colors in Python terminal
Last Updated :
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
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:
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():
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
Share your thoughts in the comments
Please Login to comment...