Dodavanje boje izlazu terminala u Pythonu
Python nudi različite načine za poboljšanje čitljivosti i izgleda izlaza terminala. Jedna učinkovita metoda je korištenje teksta u boji, koji može istaknuti važne informacije ili napraviti razliku između različitih vrsta podataka.
U ovom ćemo vodiču istražiti različite tehnike i biblioteke dostupne u Pythonu za ispis teksta u boji na terminal. Bez obzira jeste li početnik ili iskusan programer, ove će vam metode pomoći da stvorite vizualno privlačnije aplikacije naredbenog retka.
Naredba | Opis |
---|---|
\033[91m | ANSI izlazni kod za crvenu boju teksta. |
\033[0m | ANSI izlazni kod za poništavanje oblikovanja teksta. |
colorama.init(autoreset=True) | Inicijalizira colorama i postavlja je na automatsko poništavanje boja nakon svakog ispisa. |
colorama.Fore.RED | Colorama konstanta za crvenu boju teksta. |
colorama.Style.RESET_ALL | Colorama konstanta za poništavanje svih formatiranja teksta. |
color_map.get(color, Fore.WHITE) | Dohvaća navedenu boju iz color_map rječnika, zadana je bijela ako boja nije pronađena. |
Razumijevanje tehnika bojanja teksta terminala Python
Prva skripta koristi ANSI escape codes za ispis teksta u boji na terminalu. Ovi izlazni kodovi su nizovi znakova koje terminal tumači kao naredbe za promjenu izgleda teksta. Na primjer, \033[91m mijenja boju teksta u crvenu, dok \033[0m poništava oblikovanje teksta. Skripta definira funkciju, print_colored, koji uzima dva argumenta: tekst za ispis i željenu boju. Unutar funkcije, rječnik preslikava nazive boja u njihove odgovarajuće ANSI kodove. Tekst se ispisuje pomoću f-stringa koji uključuje odgovarajući kod boje i kod za poništavanje.
Druga skripta koristi colorama biblioteka, koja pojednostavljuje izlaz teksta u boji na više platformi. Knjižnica se inicijalizira s colorama.init(autoreset=True), osiguravajući da se oblikovanje teksta poništava nakon svake izjave za ispis. The print_colored funkcija u ovoj skripti također uzima tekst i boju kao argumente. Rječnik preslikava nazive boja u colorama.Fore konstante, kao npr Fore.RED. Tekst se ispisuje pomoću f-niza koji kombinira konstantu boje s tekstom i Style.RESET_ALL konstanta za ponovno postavljanje oblikovanja. Ove skripte pokazuju dvije učinkovite metode za dodavanje boje izlazu terminala, poboljšavajući čitljivost i korisničko iskustvo.
Korištenje ANSI izlaznih kodova za tekst u boji u Pythonu
Python skripta s ANSI kodovima za izlaz
def print_colored(text, color):
color_codes = {
"red": "\033[91m",
"green": "\033[92m",
"yellow": "\033[93m",
"blue": "\033[94m",
"magenta": "\033[95m",
"cyan": "\033[96m",
"white": "\033[97m",
}
reset_code = "\033[0m"
print(f"{color_codes.get(color, color_codes['white'])}{text}{reset_code}")
Iskorištavanje biblioteke 'colorama' za bojanje teksta terminala
Python skripta koja koristi biblioteku 'colorama'
from colorama import init, Fore, Style
init(autoreset=True)
def print_colored(text, color):
color_map = {
"red": Fore.RED,
"green": Fore.GREEN,
"yellow": Fore.YELLOW,
"blue": Fore.BLUE,
"magenta": Fore.MAGENTA,
"cyan": Fore.CYAN,
"white": Fore.WHITE,
}
print(f"{color_map.get(color, Fore.WHITE)}{text}{Style.RESET_ALL}")
Istraživanje dodatnih biblioteka za tekst u boji u Pythonu
Izvan upotrebe ANSI escape codes i colorama biblioteka, još jedna moćna biblioteka za tekst u boji u Pythonu je termcolor. Ova biblioteka pruža jednostavan API za ispis teksta u boji na terminalu. Podržava različite atribute teksta kao što su podebljano, podcrtano i boje pozadine. Koristiti termcolor, prvo ga trebate instalirati pomoću pip-a. Nakon instaliranja, možete ga koristiti colored i cprint funkcije. The colored funkcija vraća niz s odgovarajućim izlaznim nizovima, dok cprint ispisuje tekst izravno na terminal.
Još jedna korisna biblioteka je rich, koji ne samo da podržava tekst u boji, već također omogućuje napredno oblikovanje poput tablica, iscrtavanje markdowna i isticanje sintakse. To ga čini svestranim alatom za stvaranje vizualno privlačnih aplikacija naredbenog retka. Koristiti rich, instalirajte ga putem pip-a i zatim ga upotrijebite print funkcija za poboljšano oblikovanje teksta. Ove biblioteke proširuju vaše opcije za stiliziranje teksta terminala, omogućujući vam da stvorite zanimljivije i korisnije prilagođene CLI alate.
Često postavljana pitanja o tekstu u boji u Pythonu
- Kako mogu instalirati biblioteku termcolor?
- Možete instalirati biblioteku termcolor pomoću naredbe pip install termcolor.
- Koja je razlika između colorama i termcolor?
- Dok se obje biblioteke koriste za tekst u boji u terminalu, colorama više je usmjeren na kompatibilnost s više platformi, dok je termcolor pruža jednostavniji API za atribute boje i teksta.
- Mogu li koristiti colorama i termcolor u istoj skripti?
- Da, možete koristiti obje biblioteke u istoj skripti ako trebate značajke obje. Samo provjerite jeste li ih pravilno inicijalizirali i koristili.
- Kako mogu ispisati podebljani tekst koristeći termcolor?
- Možete ispisati podebljani tekst pomoću parametra atributa u colored funkcija, npr. colored('Hello, World!', 'red', attrs=['bold']).
- Je li moguće obojiti pozadinu teksta u terminalu?
- Da, oboje colorama i termcolor podržavaju pozadinske boje. U colorama, možete koristiti konstante poput Back.RED, i u termcolor, možete koristiti on_color parametar.
- Kako mogu poništiti oblikovanje teksta u obogaćenom formatu?
- u rich biblioteke, oblikovanje teksta se automatski resetira na kraju poziva funkcije ispisa, slično kao colorama's značajka automatskog resetiranja.
- Mogu li koristiti te biblioteke za formatiranje teksta u datotekama dnevnika?
- Ove biblioteke prvenstveno su dizajnirane za terminalski izlaz. Da biste formatirali tekst u datotekama dnevnika, možda ćete trebati koristiti biblioteku zapisnika s podrškom za boje ili ručno dodati ANSI kodove ako ih preglednik dnevnika podržava.
- Koje su druge biblioteke za napredno formatiranje terminala?
- osim colorama, termcolor, i rich, možete istraživati knjižnice poput blessed i texttable za napredne mogućnosti formatiranja terminala.
Završne misli o bojanju teksta terminala Pythona
Korištenje obojenog teksta u Python terminalima moćan je način poboljšanja jasnoće i privlačnosti aplikacija naredbenog retka. Korištenjem ANSI izlaznih kodova ili biblioteka kao što su colorama, termcolor i rich, programeri mogu jednostavno dodati boje i tekstualne atribute svojim rezultatima. Ove tehnike ne samo da čine izlaz terminala vizualno privlačnijim, već također pomažu u isticanju važnih informacija i poboljšanju ukupne interakcije korisnika.