Before we get started, have you tried our new Python Code Assistant? It's like having an expert coder at your fingertips. Check it out!
Printing to the console in different colors is pretty handy and quite practical, from building fancy scanning scripts to distinguishing different log message types (debug, info, critical, etc.) in your programs. In this tutorial, you will learn how you can print colored text in Python using colorama
library.
We'll be using colorama
. Let's first install it:
$ pip install colorama
Next, open up a new Python file and write the following:
from colorama import init, Fore, Back, Style
# essential for Windows environment
init()
# all available foreground colors
FORES = [ Fore.BLACK, Fore.RED, Fore.GREEN, Fore.YELLOW, Fore.BLUE, Fore.MAGENTA, Fore.CYAN, Fore.WHITE ]
# all available background colors
BACKS = [ Back.BLACK, Back.RED, Back.GREEN, Back.YELLOW, Back.BLUE, Back.MAGENTA, Back.CYAN, Back.WHITE ]
# brightness values
BRIGHTNESS = [ Style.DIM, Style.NORMAL, Style.BRIGHT ]
First, we call the init()
function, which is necessary in the Windows environment for colorama
to function properly, it does nothing on other platforms, so you can remove it.
Second, we define all the available foreground colors in FORES
list, and background colors in BACKS
list, we also define BRIGHTNESS
list for different brightness settings.
Next, let's make a function that wraps the regular Python's print()
function, but with the ability to set color and brightness:
def print_with_color(s, color=Fore.WHITE, brightness=Style.NORMAL, **kwargs):
"""Utility function wrapping the regular `print()` function
but with colors and brightness"""
print(f"{brightness}{color}{s}{Style.RESET_ALL}", **kwargs)
We simply use print()
inside, but prepending the text with brightness and color codes and appending Style.RESET_ALL
in the end to reset to default color and brightness each time, we use the function.
We also pass **kwargs
so we can use other print()
function's keyword arguments, such as end
and sep
.
Now that we have our function let's use all foreground colors and print the same text with different colors and each with different brightness:
# printing all available foreground colors with different brightness
for fore in FORES:
for brightness in BRIGHTNESS:
print_with_color("Hello world!", color=fore, brightness=brightness)
This will look like in the following image:
Black is not showing, as the terminal's background color is black as well; here is with a different background color:
Let's now use the background colors:
# printing all available foreground and background colors with different brightness
for fore in FORES:
for back in BACKS:
for brightness in BRIGHTNESS:
print_with_color("A", color=back+fore, brightness=brightness, end=' ')
print()
You can change the background and the foreground color at the same time. That's why we're iterating over foreground colors too; here's how it'll look:
That's it! Now you know all the available foreground and background colors and brightness values in colorama
library in Python. I hope this was helpful for you in quickly grasping information and copying code for your projects.
Learn also: How to Make a Port Scanner in Python.
Happy coding ♥
Why juggle between languages when you can convert? Check out our Code Converter. Try it out today!
View Full Code Explain The Code for Me
Got a coding query or need some guidance before you comment? Check out this Python Code Assistant for expert advice and handy tips. It's like having a coding tutor right in your fingertips!