python3 -m pip install --upgrade termcolor
git clone https://github.com/termcolor/termcolor
cd termcolor
python3 -m pip install .
To see demo output, run:
python3 -m termcolor
import sys
from termcolor import colored, cprint
text = colored("Hello, World!", "red", attrs=["reverse", "blink"])
print(text)
cprint("Hello, World!", "green", "on_red")
print_red_on_cyan = lambda x: cprint(x, "red", "on_cyan")
print_red_on_cyan("Hello, World!")
print_red_on_cyan("Hello, Universe!")
for i in range(10):
cprint(i, "magenta", end=" ")
cprint("Attention!", "red", attrs=["bold"], file=sys.stderr)
Text colors | Text highlights | Attributes |
---|---|---|
black |
on_black |
bold |
red |
on_red |
dark |
green |
on_green |
underline |
yellow |
on_yellow |
blink |
blue |
on_blue |
reverse |
magenta |
on_magenta |
concealed |
cyan |
on_cyan |
strike |
white |
on_white |
|
light_grey |
on_light_grey |
|
dark_grey |
on_dark_grey |
|
light_red |
on_light_red |
|
light_green |
on_light_green |
|
light_yellow |
on_light_yellow |
|
light_blue |
on_light_blue |
|
light_magenta |
on_light_magenta |
|
light_cyan |
on_light_cyan |
Terminal | bold | dark | underline | blink | reverse | concealed |
---|---|---|---|---|---|---|
xterm | yes | no | yes | bold | yes | yes |
linux | yes | yes | bold | yes | yes | no |
rxvt | yes | no | yes | bold/black | yes | no |
dtterm | yes | yes | yes | reverse | yes | yes |
teraterm | reverse | no | yes | rev/red | yes | no |
aixterm | normal | no | yes | no | yes | yes |
PuTTY | color | no | yes | no | yes | no |
Windows | no | no | no | no | yes | no |
Cygwin SSH | yes | no | color | color | color | yes |
Mac Terminal | yes | no | yes | yes | yes | yes |
Terminal colour detection can be disabled or enabled in several ways.
In order of precedence:
- Calling
colored
orcprint
with a truthyno_color
disables colour. - Calling
colored
orcprint
with a truthyforce_color
forces colour. - Setting the
ANSI_COLORS_DISABLED
environment variable to any value disables colour. - Setting the
NO_COLOR
environment variable to any value disables colour. - Setting the
FORCE_COLOR
environment variable to any value forces colour. - Setting the
TERM
environment variable todumb
, or using such a dumb terminal, disables colour. - Finally, termcolor will attempt to detect whether the terminal supports colour.