Python Forum

Full Version: Colored text
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I've been looking on how to change your text in the command when you run python.
class Colors:
    RED = "\x1b[0;31;40"

def Starting():
    print(Colors.RED + "Hello")
    time.sleep(100)
This is my code that I thought would work to change my text red but it shows this.

←[0;31;40Hello

What am I doing wrong?
Where did you get that code? I am used to seeing ansii color codes that look like this: \033[1;32m, \e[1;32m or \x1b[1;31m. I've never seen a code with two semicolons.

You can use the colorama module.
from colorama import Fore

print(Fore.RED + "This is red", Fore.GREEN + "This is green")
This is a bit easier to read than obscure escape sequences.
You might take a look at the rich module. It handles a lot of the work for doing color effects.

>>> from rich.console import Console
>>> console = Console()
>>> console.print("Hello", style="red")
Hello
This is what I use.
# SGR color constants
# rene-d 2018

class Colors:
    """ ANSI color codes """
    BLACK = "\033[0;30m"
    RED = "\033[0;31m"
    GREEN = "\033[0;32m"
    BROWN = "\033[0;33m"
    BLUE = "\033[0;34m"
    PURPLE = "\033[0;35m"
    CYAN = "\033[0;36m"
    LIGHT_GRAY = "\033[0;37m"
    DARK_GRAY = "\033[1;30m"
    LIGHT_RED = "\033[1;31m"
    LIGHT_GREEN = "\033[1;32m"
    YELLOW = "\033[1;33m"
    LIGHT_BLUE = "\033[1;34m"
    LIGHT_PURPLE = "\033[1;35m"
    LIGHT_CYAN = "\033[1;36m"
    LIGHT_WHITE = "\033[1;37m"
    BOLD = "\033[1m"
    FAINT = "\033[2m"
    ITALIC = "\033[3m"
    UNDERLINE = "\033[4m"
    BLINK = "\033[5m"
    NEGATIVE = "\033[7m"
    CROSSED = "\033[9m"
    END = "\033[0m"
    # cancel SGR codes if we don't write to a terminal
    if not __import__("sys").stdout.isatty():
        for _ in dir():
            if isinstance(_, str) and _[0] != "_":
                locals()[_] = ""
    else:
        # set Windows console in VT mode
        if __import__("platform").system() == "Windows":
            kernel32 = __import__("ctypes").windll.kernel32
            kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7)
            del kernel32


if __name__ == '__main__':
    for i in dir(Colors):
        if i[0:1] != "_" and i != "END":
            print("{:>16} {}".format(i, getattr(Colors, i) + i + Colors.END))