Hello to everyone!
In this article, I'm presenting a little package I wrote for helping make outputs clearer in my Python scripts. This package's functions aren't really optimal, but they are sufficient for how I use them. This article is here to help uderstand some parts of my code that might be unclear because of the use of such functions.
Basically, the package provides the four following displays:
Here is the code for the package:
class Colors:
BLACK = "\033[30m"
RED = "\033[31m"
GREEN = "\033[32m"
YELLOW = "\033[33m"
BLUE = "\033[34m"
BOLD = "\033[1m"
NONE = "\033[0m"
BRED = BOLD + RED
BGREEN = BOLD + GREEN
BYELLOW = BOLD + YELLOW
BBLUE = BOLD + BLUE
@staticmethod
def info(msg, end='\n'):
print(Colors.BBYELLOW + "[~] " + str(msg) + Colors.NONE, end=end, flush=True)
@staticmethod
def success(msg, end='\n'):
print(Colors.BGREEN + "[+] " + str(msg) + Colors.NONE, end=end, flush=True)
@staticmethod
def fail(msg, end='\n'):
print(Colors.BRED + "[!] " + str(msg) + Colors.NONE, end=end, flush=True)
@staticmethod
def note(msg, end='\n'):
print(Colors.BBLUE + "[*] " + str(msg) + Colors.NONE, end=end, flush=True)
It is very simple: just import the class Colors from the package and use one of the four static
methods. The package comes as well with simplified codes for the basic colors I use in my script: we have black,
red, green, yellow and blue. There is a variable for bold as well, and one that removes all decoration. Eventually,
prefixing any color name with B represents the combination of the color in question and bold decoration.
For instance, the example script I ran in the picture above is:
#!/usr/bin/env python3
from colors import Colors
Colors.info("This is an information.")
Colors.success("Something went as expected!")
Colors.fail("Something went wrong.")
Colors.note("This is a note.")
That's all. This article is mostly to avoid any confusion if I use those functions in any of my scripts.
Copyright © 2020-2021 Rubytox