Python Colorama ile Renkli Konsollar ∞

Python Colorama ile Renkli Konsollar

Python Colorama

Bilgisayarlarındaki komut istemi programlarıyla ilgilenen bilgisayar kullanıcıları, zaman zaman konsollarının farklı şekillerde görünmelerini isteyebilir. Bunun için akla gelen ilk şey tabii ki konsolun renklerini değiştirmektir. Windows komut isteminde böyle bir değişiklik yapılabilmektedir. Ancak yapılan değişiklik bütün ekranı etkilemektedir, bu yüzden bazı kullanıcılar Komut İstemi’nin renk değiştirme fonksiyonunu yetersiz bulmaktadır. Neyse ki Python programlama dili ile haşır neşir olan kullanıcıların bildiği bir çözüm bulunmakta. Bu çözüm de Python dili için yazılmış Colorama kütüphanesidir. Bu kütüphane ile komut istemi içerisinde gelişmiş renk değiştirme fonksiyonları kullanılabilmektedir.

Colorama Kütüphanesi Tanıtımı

Colorama kütüphanesi, konsollarda kullanılabilen ASCII escape kodlarını kullanarak konsol uygulamalarına görsellik katmaya yarayan bir kütüphanedir. Python programlama dili henüz bu kütüphaneyi yerleşik olarak bulundurmamaktadır, ancak bu kütüphane pek çok kullanıcı tarafından rağbet görmekte ve renkli konsol uygulamalarının ortaya çıkmasını sağlamaktadır. Kullanımı oldukça basit olan Colorama kütüphanesi, konsol uygulamalarınızı görsellik konusunda çok daha ileriye taşıyacaktır.

Colorama Kütüphanesi Nasıl Yüklenir?

 Biraz önce belirtildiği gibi Colorama, pek çok kütüphanenin aksine zamanla yerleşikleşmiş bir Python kütüphanesi olmadığı için kullanıcı tarafından yüklenmesi gerekmektedir. Bunun için Python programlama dili yüklü olan bir bilgisayarda Komut İstemi’ni açıp aşağıdaki kod satırı girilmektedir:

pip install colorama

 Bu paketin yüklenmesi bittikten sonra Python editörünüzü açıp ilk satıra aşağıdaki komutu girerek colorama kütüphanesini kullanabilirsiniz:

import colorama

Ancak Colorama kullanımında zaman zaman escape kodu ile ilgili bir bozukluk olabildiği için importlar bittikten sonra şu komut satırını kullanarak konsolunuzu sıfırlayabilirsiniz:

colorama.init()

Bu sıfırlama işlemini gerçekleştirdikten sonra aşağıdaki komut satırıyla basit bir renk değiştirme işlemi gerçekleştirebilirsiniz:

print(colorama.Fore.BLUE + “Hello, World!”) 

Buraya kadar olan programınızı kaydedip Python ile çalıştırdığınızda şu tür bir görüntü alırsınız:

Python colorama prints

Bu satırda print parantezinden hemen sonra yazılan “colorama.Fore.BLUE”, colorama kütüphanesinin “Fore” sınıfının “BLUE” isimli sabitine karşılık gelen ANSI escape kodudur. Colorama’nın Fore sınıfı on altı farklı sabiti tutmaktadır ve bu şekilde konsol yazınıza farklı renkler vermenize olanak tanımaktadır. Bu sınıfta tutulan tüm sabitler ve kullanımları şu şekildedir:

  • Fore.BLACK
  • Fore.BLUE
  • Fore.WHITE
  • Fore.GREEN
  • Fore.RED
  • Fore.YELLOW
  • Fore.CYAN
  • Fore.MAGENTA
  • Fore.LIGHTWHITE_EX (açık beyaz)
  • Fore.LIGHTBLUE_EX (açık mavi)
  • Fore.LIGHTBLACK_EX (açık siyah)
  • Fore.LIGHTMAGENTA_EX (açık pembe)
  • Fore.LIGHTCYAN_EX (açık deniz mavisi)
  • Fore.LIGHTYELLOW_EX (açık sarı)
  • Fore.LIGHTRED_EX (açık kırmızı)
  • Fore.LIGHTGREEN_EX (açık yeşil)

Buarada ilk sekiz sabit koyu renklere, son sekiz sabit açık renklere karşılık gelmektedir. Yukarıda verdiğimiz örnekte “Hello, World!” yazısı koyu mavi renkte yazılmıştır. Ancak yazımızın daha belli görünmesi için arka planımızda değişiklik yapabiliriz. Bunun için ise colorama kütüphanesindeki “Back” sınıfını kullanırız. Back sınıfının kullanımı Fore sınıfı ile aynıdır ve arka plan değişimi için özel ANSI escape kodları kullanır. Dolayısıyla kodumuzda şöyle bir değişiklik yapabiliriz:

print(colorama.Fore.BLUE + colorama.Fore.LIGHTBLACK_EX + “Hello, World!”)

Bu değişiklikten sonra kodumuzu kaydedip çalıştırdığımızda şu şekilde bir görüntü alırız:

Hello word

Bu şekilde hem yazı rengini, hem de arka plan rengini değiştirmiş olduk. Şimdi biraz daha gelişmiş bir örnekle konuyu daha iyi anlayalım.

Colorama Basit Renk Değiştirme Örneği 

Colorama Basit Renk Değiştirme

Yukarıdaki örnek Colorama kütüphanesinin konsollarda nasıl kullanıldığına dair güzel bir örnek. Bu örneği kodlamanız için ihtiyacınız olan tek şey Colorama kütüphanesinin kendisi. Bu örneğin kaynak kodu en basit haliyle aşağıdaki gibidir:

import colorama 

colorama.init() 

print(colorama.Fore.LIGHTWHITE_EX + “COLORAMA DEMOSU”)

print(colorama.Fore.LIGHTYELLOW_EX + “—————“)

print(“\n\n” + colorama.Fore.LIGHTCYAN_EX + “Bu makale sayesinde Colorama’yı ” + colorama.Back.LIGHTRED_EX + colorama.Fore.LIGHTWHITE_EX + “sular seller” + colorama.Back.BLACK + colorama.Fore.LIGHTCYAN_EX +  ” gibi öğreneceksiniz.”) 

Bu kod başlık ile metni ayırmak için sarı çizgi kullanmakta ve alttaki metni farklı renkle yazdırmaktadır. Metindeki “sular seller” kısmı metnin geri kalanından farklı bir ön ve arka plan rengiyle yazılmaktadır. Bu kod okuma payı için verilen boşluklar da sayılırsa toplam yedi satır tutmaktadır.

Ancak bu kodu, Python programlama dili içerisinde bulunan string formatlama tekniği ile daha güzel bir şekilde yazma istiyorsanız şu şekilde yazabilirsiniz:

import colorama 

colorama.init() 

print(f”{colorama.Fore.LIGHTWHITE_EX}COLORAMA DEMOSU”)

print(f”{colorama.Fore.LIGHTYELLOW_EX}—————“)

print(f’\n\n{colorama.Fore.LIGHTCYAN_EX}Bu makale sayesinde Colorama\’yı {colorama.Back.LIGHTRED_EX}{colorama.Fore.LIGHTWHITE_EX}sular seller{colorama.Back.BLACK}{colorama.Fore.LIGHTCYAN_EX} gibi öğreneceksiniz.’) 

Bu yöntemde colorama kodlarının, string formatlama tekniğinin sunduğu süslü parantez içinde değişken yazdırma özelliği kullanılarak metine renk vermesi sağlanmıştır.

Colorama Gelişmiş Renk Değiştirme Örneği

Colorama kütüphanesi, son derece gelişmiş konsol arayüzlerinde oldukça ön plana çıkmaktadır. Bu arayüzlerin bir örneği aşağıda verilmiştir.

Colorama Gelişmiş Renk Değiştirme

Birinci seçenek seçildiğinde

 

import keyboard

İkinci seçenek seçildiğinde

Bu tarz bir menü genelde daha fazla kütüphane gerektirir ve daha kompleks bir algoritmaya sahiptir. Şimdi aşama aşama bu örneğin kodunu yazalım. Öncelikle gerekli kütüphaneleri import ederek başlayalım.

import keyboard #pip install keyboard

import colorama

import os

Bu örnek için bu üç kütüphane yeterli olacaktır. Daha sonra menüde gerekli olacak değerleri tutan bazı değişkenlere ihtiyacımız olacak. Bu değişkenler de şu şekilde tanımlanabilir:

selectedIndex = 0 #seçili menü seçeneğinin indisi 

menuTexts = [ #Menü seçeneklerini tutan dizi

    f”Bu bir konsol menü seçeneği”,

    f”Bu başka bir konsol menü seçeneği”

] 

Bunlardan selectedIndex değişkeni hangi menü seçeneğinin seçildiğini tutacak bir indis değeri alırken, menuTexts dizisi de menü seçeneklerini tutar. Bu örnek için bu dizi iki elemanlı olarak tanımlanmıştır, ancak gelişmiş bir konsol uygulama projeniz varsa siz bu sayıyı arttırabilirsiniz.

Bu örneğin çalışabilmesi için bir “while True:” döngüsü açtıktan sonra içine ilk metinler olarak şunları giriyoruz:

print(f”{colorama.Fore.LIGHTWHITE_EX}GELİŞMİŞ COLORAMA DEMOSU”)

    print(f”{colorama.Fore.LIGHTYELLOW_EX}————————“)

    print(f”\n{colorama.Fore.LIGHTWHITE_EX}Klavyedeki Yukarı Ok ve Aşagı Ok tuşları ile seçim yapabilirsiniz. Enter tuşu ile programı sonlandırabilirsiniz.\n”) 

Şimdi bunun altında menü kodlarımızı yazıyor olacağız. Önce menü elemanlarımızı sırayla yazdıralım, ve seçili olan elemanı farklı gösterecek bir koşul yapısı ekleyelim.

for i in range(len(menuTexts)): #Menü seçeneklerini ekrana yazdırma

        if i == selectedIndex: #seçili menü seçeneğinin ekrana yazdırılması

            print(f”{colorama.Fore.LIGHTBLUE_EX}>{menuTexts[i]}”)

        else: #seçili olmayan menü seçeneğinin ekrana yazdırılması

            print(f”{colorama.Fore.LIGHTWHITE_EX}{menuTexts[i]}”) 

Bu algoritmaya bakıldığında menü seçenekleri için bir dizinin kullanılmasının getirdiği kolaylık ortaya çıkmaktadır. Şimdi sırada seçim kodlarımızı yazmak var. Bunun için de yerleşik olmayan başka bir Python kütüphanesi olan keyboard’ı kullanıyoruz. Bu kütüphane klavye girdilerini okuyarak işlem yapmamıza yardımcı oluyor. Yukarı ok ve aşağı ok tuşlarıyla seçim yaptıracak, Enter tuşuyla da programı sonlandıracak bir algoritma yazıyoruz.

if keyboard.read_key() == “up”: #yukarı ok tusu ile seçim yapma

        if selectedIndex > 0:

            selectedIndex -= 1

        os.system(“cls”)

    elif keyboard.read_key() == “down”: #aşagı ok tusu ile seçim yapma

        if selectedIndex < 1:

            selectedIndex += 1

        os.system(“cls”)

    elif keyboard.read_key() == “enter”: #enter tusu ile programı sonlandırma

        colorama.deinit()

        break 

Bu algoritma ile yukarıdaki sonucu elde edebiliriz.

keyword

Anahtar Kelime Analizi Nedir, Nasıl Yapılır?

İnternet kullanıcılarının internet üzerinde arattıkları terimleri bulmak ve bunları SEO stratejilerinde kullanmak için gerçekleştirilen çalışmaya anahtar kelime analizi denir. Web sitesi oluşturmak isteyenlerin anahtar ...
Python ile Basit Reactive AI Geliştirme

Python ile Basit Reactive AI Geliştirme

Günümüzde gittikçe daha çok ivme kazanan yapay zeka uygulamaları, şirketler kadar kendi yapay zeka uygulamalarını yazmak isteyenlerin de ilgi odağı haline geliyor. Python hakkında ...
pyhton flask

Python Flask Nedir ve Python Flask ile Web Geliştirme

Python ile uygulama geliştirme dendiğinde akla genellikle konsol uygulamaları, veri uygulamaları ve yapay zeka gelir, ancak Python dilinin yoğun olarak kullanıldığı alanlardan birisi de ...

Microsoft Copilot Nedir ve Nasıl Kullanılır?

Microsoft Copilot, Microsoft'un Windows, Edge, mobil ve Office 365 için yapay zeka aracıdır. Yapay zekanın gelişmesi ve OpenAI GPT'nin popüler olması ile birlikte teknoloji ...
Gmail akıllı yazma

G-mail Akıllı Yazma Özelliğini Açma Kapatma

Akıllı yazma aracı, e-mailler için otomatik tamamlama gibi çalışır. E-maillerin nasıl yazılacağını öğrenir ve cümlelerin tamamlanmasını sağlar. E-mail metinlerinin hızlıca oluşmasını sağlar. Yazarken öneriler ...
IMAP

İmap Nedir? İmap Kullanımının Faydaları

Birçok insan imap nedir bilmemektedir. Gerek günlük hayatta gerekse iş hayatında e-mail kullanımı çok önemlidir. E-mail protokolü sayesinde kişiler her cihazdan e-mailerini kontrol edebilir, ...
mac windows

Mac vs Windows Bilgisayar Özet Karşılaştırma

Bilgisayar teknolojisi, günümüzde büyük ölçüde Windows ve Mac işletim sistemleri üzerine odaklanmış durumda. Her iki işletim sistemi de benzersiz özelliklere ve kullanıcı deneyimine sahiptir ...
Gmail görev oluşturma

G-mail Görev Oluşturma G-mail Alanlar Düzenleme

G-Mail’den görev oluşumu çok basittir. Öncelikle, G-Mail hesabına giriş yaparak, sağ üstteki alan "Görevler"e tıklanmalıdır. Açılacak pencerede, yeni görevin eklenebilmesi için "Görev Ekle"ye tıklanmalıdır ...
MAPI EWS

MAPI EWS Nedir Ne İşe Yarar Ne Amaçla Kullanılır?

Teknolojinin gelişim göstermesi ile birlikte MAPI EWS nedir ne amaçla kullanılır pek çok kişi tarafından merak edilmektedir. İnternet önemli iletişim kaynaklarındandır. Gere iş alanlarında ...
Shopify

Shopify DNS Yönlendirmesini Yapmak Adım Adım

Sahip olduğunuz alan adını Shopify’e yönlendirmek istediğinizde hangi işlemleri gerçekleştirmeniz gerektiğini merak ediyor olabilirsiniz. Shopify DNS Yönlendirmesini Yapmak Adım Adım aktaracağımız bu yazımız sizler ...