How do I print colored output with Python 3? How do I print colored output with Python 3? python-3.x python-3.x

How do I print colored output with Python 3?


It is very simple with colorama, just do this:

import coloramafrom colorama import Fore, Styleprint(Fore.BLUE + "Hello World")

And here is the running result in Python3 REPL:

And call this to reset the color settings:

print(Style.RESET_ALL)

To avoid printing an empty line write this:

print(f"{Fore.BLUE}Hello World{Style.RESET_ALL}")


Here's a class of mine I use to color specific output in Python 3 scripts. You could import the class and use like so:from colorprint import ColorPrint as __.print_fail('Error occurred, quitting program')

import sys# Colored printing functions for strings that use universal ANSI escape sequences.# fail: bold red, pass: bold green, warn: bold yellow, # info: bold blue, bold: bold whiteclass ColorPrint:    @staticmethod    def print_fail(message, end = '\n'):        sys.stderr.write('\x1b[1;31m' + message.strip() + '\x1b[0m' + end)    @staticmethod    def print_pass(message, end = '\n'):        sys.stdout.write('\x1b[1;32m' + message.strip() + '\x1b[0m' + end)    @staticmethod    def print_warn(message, end = '\n'):        sys.stderr.write('\x1b[1;33m' + message.strip() + '\x1b[0m' + end)    @staticmethod    def print_info(message, end = '\n'):        sys.stdout.write('\x1b[1;34m' + message.strip() + '\x1b[0m' + end)    @staticmethod    def print_bold(message, end = '\n'):        sys.stdout.write('\x1b[1;37m' + message.strip() + '\x1b[0m' + end)


Put these classes into Color.py file near your test.py file and run test.py.I've tested these classes on Ubuntu Server 16.04 and Linux Mint 18.2 . All classes worked very good except GColor (RGB), that, it is usable in graphical terminal like Linux Mint terminal.Also, you can use these classes like this:

print(Formatting.Italic + ANSI_Compatible.Color(12) + "This is a " + Formatting.Bold + "test" + Formatting.Reset_Bold +  "!" + ANSI_Compatible.END + Formatting.Reset)print(Color.B_DarkGray + Color.F_LightBlue + "This is a " + Formatting.Bold + "test" + Formatting.Reset_Bold +  "!" + Base.END)

Result:

enter image description here

Note: It's not working on Windows!

File Color.py :

class Base:    # Foreground:    HEADER = '\033[95m'    OKBLUE = '\033[94m'    OKGREEN = '\033[92m'    WARNING = '\033[93m'    FAIL = '\033[91m'    # Formatting    BOLD = '\033[1m'    UNDERLINE = '\033[4m'        # End colored text    END = '\033[0m'    NC ='\x1b[0m' # No Colorclass ANSI_Compatible:    END = '\x1b[0m'    # If Foreground is False that means color effect on Background    def Color(ColorNo, Foreground=True): # 0 - 255        FB_G = 38 # Effect on foreground        if Foreground != True:            FB_G = 48 # Effect on background        return '\x1b[' + str(FB_G) + ';5;' + str(ColorNo) + 'm'class Formatting:    Bold = "\x1b[1m"    Dim = "\x1b[2m"    Italic = "\x1b[3m"    Underlined = "\x1b[4m"    Blink = "\x1b[5m"    Reverse = "\x1b[7m"    Hidden = "\x1b[8m"    # Reset part    Reset = "\x1b[0m"    Reset_Bold = "\x1b[21m"    Reset_Dim = "\x1b[22m"    Reset_Italic = "\x1b[23m"    Reset_Underlined = "\x1b[24"    Reset_Blink = "\x1b[25m"    Reset_Reverse = "\x1b[27m"    Reset_Hidden = "\x1b[28m"class GColor: # Gnome supported    END = "\x1b[0m"    # If Foreground is False that means color effect on Background    def RGB(R, G, B, Foreground=True): # R: 0-255  ,  G: 0-255  ,  B: 0-255        FB_G = 38 # Effect on foreground        if Foreground != True:            FB_G = 48 # Effect on background        return "\x1b[" + str(FB_G) + ";2;" + str(R) + ";" + str(G) + ";" + str(B) + "m"class Color:    # Foreground    F_Default = "\x1b[39m"    F_Black = "\x1b[30m"    F_Red = "\x1b[31m"    F_Green = "\x1b[32m"    F_Yellow = "\x1b[33m"    F_Blue = "\x1b[34m"    F_Magenta = "\x1b[35m"    F_Cyan = "\x1b[36m"    F_LightGray = "\x1b[37m"    F_DarkGray = "\x1b[90m"    F_LightRed = "\x1b[91m"    F_LightGreen = "\x1b[92m"    F_LightYellow = "\x1b[93m"    F_LightBlue = "\x1b[94m"    F_LightMagenta = "\x1b[95m"    F_LightCyan = "\x1b[96m"    F_White = "\x1b[97m"    # Background    B_Default = "\x1b[49m"    B_Black = "\x1b[40m"    B_Red = "\x1b[41m"    B_Green = "\x1b[42m"    B_Yellow = "\x1b[43m"    B_Blue = "\x1b[44m"    B_Magenta = "\x1b[45m"    B_Cyan = "\x1b[46m"    B_LightGray = "\x1b[47m"    B_DarkGray = "\x1b[100m"    B_LightRed = "\x1b[101m"    B_LightGreen = "\x1b[102m"    B_LightYellow = "\x1b[103m"    B_LightBlue = "\x1b[104m"    B_LightMagenta = "\x1b[105m"    B_LightCyan = "\x1b[106m"    B_White = "\x1b[107m"

And,

File test.py:

from Color import *if __name__ == '__main__':    print("Base:")    print(Base.FAIL,"This is a test!", Base.END)    print("ANSI_Compatible:")    print(ANSI_Compatible.Color(120),"This is a test!", ANSI_Compatible.END)    print("Formatting:")    print(Formatting.Bold,"This is a test!", Formatting.Reset)    print("GColor:") # Gnome terminal supported    print(GColor.RGB(204,100,145),"This is a test!", GColor.END)    print("Color:")    print(Color.F_Cyan,"This is a test!",Color.F_Default)

Result:

On Ubuntu Server 16.04

Result on Ubuntu Server 16.04

On Linux Mint 18.2

Result on Linux Mint 18.2