V tomto článku se budeme zabývat jak tisknout barevný text v Pythonu pomocí několika m metody pro výstup barevného textu do terminálu v Pythonu.
Nejběžnější způsoby, jak toho dosáhnout, jsou:
- Použití modulu colorama Použití modulu termcolor Použití ANSI kódu v Pythonu
Metoda 1: Tisk barevného textu pomocí modulu colorama
Modul Colorama je Multiplatformní tisk barevného textu pak lze provést pomocí Coloramovy konstantní zkratky pro sekvence escape ANSI:
Příklad 1: Python program pro tisk červeného textu se zeleným pozadím.
Python3
from> colorama>import> Fore, Back, Style> print>(Fore.RED>+> 'some red text'>)> print>(Back.GREEN>+> 'and with a green background'>)> print>(Style.DIM>+> 'and in dim text'>)> print>(Style.RESET_ALL)> print>(>'back to normal now'>)> |
>
kat timpf sestra
>
Výstup:
Příklad 2: Python program pro tisk zeleného textu s červeným pozadím.
Python3
from> colorama>import> init> from> termcolor>import> colored> init()> print>(colored(>'Hello, World!'>,>'green'>,>'on_red'>))> |
>
>
Výstup:
Metoda 2: Tisk barevného textu pomocí modulu termcolor
modul termcolor je python modul pro formátování barev ANSII pro výstup v terminálu.
Příklad: Program Python pro tisk barevného textu a pozadí.
Python3
import> sys> from> termcolor>import> colored, cprint> text>=> colored(>'Hello, World!'>,>'red'>, attrs>=>[>'reverse'>,>'blink'>])> print>(text)> cprint(>'Hello, World!'>,>'green'>,>'on_red'>)> def> print_red_on_cyan(x):>return> 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)> |
>
>
Výstup:
Metoda 3: Tisk barevného textu pomocí kódu ANSI v Pythonu
Nejběžnějším způsobem tisku barevného textu je tisk ANSI escape sekvence přímo. To může být dodáno v různých formátech, jako jsou:
Příklad 1: Sestavení funkcí k volání
Můžeme sestavit funkce pro volání určitých barev pojmenovaných funkcí pro provedení příslušné únikové sekvence ANSI. Níže je uveden program Python pro tisk barevného textu a pozadí
Python3
přejmenování složky v linuxu
def> prRed(skk):>print>(>' 33[91m {} 33[00m'> .>format>(skk))> def> prGreen(skk):>print>(>' 33[92m {} 33[00m'> .>format>(skk))> def> prYellow(skk):>print>(>' 33[93m {} 33[00m'> .>format>(skk))> def> prLightPurple(skk):>print>(>' 33[94m {} 33[00m'> .>format>(skk))> def> prPurple(skk):>print>(>' 33[95m {} 33[00m'> .>format>(skk))> def> prCyan(skk):>print>(>' 33[96m {} 33[00m'> .>format>(skk))> def> prLightGray(skk):>print>(>' 33[97m {} 33[00m'> .>format>(skk))> def> prBlack(skk):>print>(>' 33[98m {} 33[00m'> .>format>(skk))> prCyan(>'Hello World, '>)> prYellow(>'It's'>)> prGreen(>'Geeks'>)> prRed(>'For'>)> prGreen(>'Geeks'>)> |
>
>
Výstup:
Příklad 2: Sestavte třídu barev
Vytvořte třídu pro přidělení barev pozadí a popředí a zavolejte je. Níže je uveden program Python pro tisk barevného textu a pozadí.
Python3
co je zpracování výjimek v Javě
class> colors:> '''Colors class:reset all colors with colors.reset; two> sub classes fg for foreground> and bg for background; use as colors.subclass.colorname.> i.e. colors.fg.red or colors.bg.greenalso, the generic bold, disable,> underline, reverse, strike through,> and invisible work with the main class i.e. colors.bold'''> reset>=> ' 33[0m'> bold>=> ' 33[01m'> disable>=> ' 33[02m'> underline>=> ' 33[04m'> reverse>=> ' 33[07m'> >strikethrough>=> ' 33[09m'> >invisible>=> ' 33[08m'> >class> fg:> >black>=> ' 33[30m'> >red>=> ' 33[31m'> >green>=> ' 33[32m'> >orange>=> ' 33[33m'> >blue>=> ' 33[34m'> >purple>=> ' 33[35m'> >cyan>=> ' 33[36m'> >lightgrey>=> ' 33[37m'> >darkgrey>=> ' 33[90m'> >lightred>=> ' 33[91m'> >lightgreen>=> ' 33[92m'> >yellow>=> ' 33[93m'> >lightblue>=> ' 33[94m'> >pink>=> ' 33[95m'> >lightcyan>=> ' 33[96m'> >class> bg:> >black>=> ' 33[40m'> >red>=> ' 33[41m'> >green>=> ' 33[42m'> >orange>=> ' 33[43m'> >blue>=> ' 33[44m'> >purple>=> ' 33[45m'> >cyan>=> ' 33[46m'> >lightgrey>=> ' 33[47m'> print>(colors.bg.green,>'SKk'>, colors.fg.red,>'Amartya'>)> print>(colors.bg.lightgrey,>'SKk'>, colors.fg.red,>'Amartya'>)> |
>
>
Výstup:

Příklad 3: Iterační funkce
Můžeme navrhnout iterační a samogenerující ANSI Escape sekvenci, funkce. Níže je uveden program Python pro tisk barevného textu a pozadí
Python3
def> print_format_table():> >'''> >prints table of formatted text format options> >'''> >for> style>in> range>(>8>):> >for> fg>in> range>(>30>,>38>):> >s1>=> ''> >for> bg>in> range>(>40>,>48>):> >format> => ';'>.join([>str>(style),>str>(fg),>str>(bg)])> >s1>+>=> 'x1b[%sm %s x1b[0m'> %> (>format>,>format>)> >print>(s1)> >print>(>'
'>)> print_format_table()> |
>
>
Výstup:
