Python - barevný text v terminálu


27. 06. 2016 |

Hodí se pokud je potřeba od sebe odlišit text, který vypisuje nějaký skript. Mělo by fungovat na všech UNIX systémech i na Win, pokud se povolí ANSI.SYS.

class colors():
    # Režimy textu
    ENDC      = '\033[0m'
    BOLD      = '\033[1m'
    UNDERLINE = '\033[4m'
    INVERSE   = '\033[7m'

    # Barvy
    ORANGE    = '\033[93m'
    BLACK     = '\033[0;30m'
    BLUE      = '\033[0;34m'
    GREEN     = '\033[0;32m'
    CYAN      = '\033[0;36m'
    RED       = '\033[0;31m'
    PURPLE    = '\033[0;35m'
    BROWN     = '\033[0;33m'
    LGRAY     = '\033[0;37m'
    DGRAY     = '\033[1;30m'
    LBLUE     = '\033[1;34m'
    LGREEN    = '\033[1;32m'
    LCYAN     = '\033[1;36m'
    LRED      = '\033[1;31m'
    LPURPLE   = '\033[1;35m'
    YELLOW    = '\033[1;33m'
    WHITE     = '\033[1;37m'

Barvy a režimy textu lze kombinovat, například následující příkaz vypíše červený podtrhnutý text:

>>>print colors.RED + colors.UNDERLINE + 'hello world' + colors.ENDC

Poznámka: na konci řetězce je potřeba přidat ukončovací řetězec "colors.ENDC", jinak se obarví všechno až dokonce výpisu.