MC, 2025
Ilustracja do artykułu: Ożyw swoje skrypty Pythona: Sekret sekwencji 033

Ożyw swoje skrypty Pythona: Sekret sekwencji 033

Czy kiedykolwiek zastanawiałeś się, jak dodać odrobinę koloru do swoich skryptów Pythona, aby wyróżnić komunikaty w terminalu? Kluczem do tego jest sekwencja \033, która pozwala na manipulowanie kolorami i stylami tekstu w konsoli. W tym artykule przyjrzymy się, jak wykorzystać tę sekwencję, aby uczynić Twoje skrypty bardziej atrakcyjnymi wizualnie.

Czym jest sekwencja \033?

Sekwencja \033, znana również jako kod ucieczki ANSI, to specjalny kod sterujący używany do formatowania tekstu w terminalach. Pozwala na zmianę koloru tekstu, tła oraz stosowanie różnych efektów, takich jak pogrubienie czy podkreślenie. W Pythonie możemy wykorzystać tę sekwencję, aby dodać kolory do naszych wydruków w konsoli.

Podstawowe kolory i ich kody

Oto lista podstawowych kolorów tekstu wraz z odpowiadającymi im kodami ANSI:

\033[30m – Czarny
\033[31m – Czerwony
\033[32m – Zielony
\033[33m – Żółty
\033[34m – Niebieski
\033[35m – Magenta
\033[36m – Cyjan
\033[37m – Biały

Aby przywrócić domyślny kolor tekstu, używamy kodu \033[0m.

Przykłady użycia sekwencji \033 w Pythonie

Przyjrzyjmy się kilku przykładom, które pokazują, jak wykorzystać sekwencję \033 do kolorowania tekstu w Pythonie:

print("\033[31mTo jest czerwony tekst\033[0m")
print("\033[32mTo jest zielony tekst\033[0m")
print("\033[33mTo jest żółty tekst\033[0m")

W powyższych przykładach tekst zostanie wyświetlony w odpowiednich kolorach, a następnie kolor zostanie zresetowany do domyślnego dzięki \033[0m.

Łączenie stylów

Możemy również łączyć różne style, takie jak pogrubienie czy podkreślenie, z kolorami. Oto kilka kodów stylów:

\033[1m – Pogrubienie
\033[4m – Podkreślenie
\033[7m – Odwrócone kolory

Przykład połączenia pogrubienia z kolorem:

print("\033[1;34mPogrubiony niebieski tekst\033[0m")

Automatyzacja kolorowania tekstu

Aby ułatwić sobie pracę z kolorowaniem tekstu, możemy stworzyć funkcję, która będzie przyjmować tekst oraz kolor jako argumenty:

def koloruj_tekst(tekst, kolor):
    kody_kolorow = {
        'czarny': '\033[30m',
        'czerwony': '\033[31m',
        'zielony': '\033[32m',
        'żółty': '\033[33m',
        'niebieski': '\033[34m',
        'magenta': '\033[35m',
        'cyjan': '\033[36m',
        'biały': '\033[37m'
    }
    return f"{kody_kolorow.get(kolor, '\033[37m')}{tekst}\033[0m"

print(koloruj_tekst("Przykładowy tekst", "zielony"))

Dzięki tej funkcji możemy łatwo kolorować tekst, podając jedynie jego treść oraz nazwę koloru.

Uwagi dotyczące kompatybilności

Należy pamiętać, że nie wszystkie terminale obsługują kody ANSI. Na przykład, domyślny wiersz poleceń w systemie Windows może nie wyświetlać kolorów poprawnie. W takich przypadkach warto skorzystać z biblioteki colorama, która zapewnia kompatybilność z systemem Windows:

import colorama
from colorama import Fore
colorama.init()
print(Fore.RED + 'To jest czerwony tekst')

Biblioteka colorama umożliwia łatwe i przenośne kolorowanie tekstu w różnych systemach operacyjnych.

Podsumowanie

Wykorzystanie sekwencji \033 w Pythonie pozwala na dodanie kolorów i stylów do tekstu wyświetlanego w terminalu, co może znacznie poprawić czytelność i estetykę komunikatów. Pamiętaj jednak o kompatybilności z różnymi terminalami i w razie potrzeby korzystaj z dedykowanych bibliotek, takich jak colorama, aby zapewnić prawidłowe działanie skryptów na różnych systemach operacyjnych.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: