Sonsuz Teknoloji 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.

X sanal çerçeve ekranı

Xvfb Nedir? Docke’da GUI Uygulamaların Çalıştırılması

Xvfb, yani X virtual framebuffer aynı zamanda X sanal çerçeve ekranı olarak bilinir, X11 ekran sunucusu protokolünü uygulayan bir ekran sunucusudur. Diğer ekran sunucularının ...
Python ile Kendi Yapay Zeka

Python ile Kendi Yapay Zekanızı Yazma Rehberi

Python ve yapay zeka kavramları, özellikle son dönemlerin yazılım dünyasında yan yana anılır oldu. Python için özel olarak yazılmış PyCharm, Tensorflow ve Keras gibi ...
Netflix Reklamlı

Netflix Aboneliklerine Zam Geldi! En Ucuz Abonelik?

Netflix aboneliklerine zam geldi! Üstelik yeni gelmiş olmasına rağmen. Netflix abonelikleri ne kadar oldu? Online film, dizi ve TV Showları izlememize olan sağlayan Netflix, ...
Telefonu hızlı şarj etme yöntemleri

Telefonu Hızlı Şarj Etme Yöntemleri: Daha Hızlı Şarj

Telefonu hızlı şarj etme yöntemleri ile yeni nesil ve eski nesil fark etmeksizin tüm telefonlar için normalinden daha hızlı şarj süresine ulaşabileceksiniz. Android telefonlarda ...
Windows 10 format atma

Windows 10 Format Atma USB’den Windows Yükleme

Windows 10 format atma nasıl yapılır? Windows 10 Format USB’si ile evde format, bilgisayar sıfırlamak aslında çok basit. Peki, Nasıl? Windows sürümlerini zaman zaman ...
steamde hangi Durumlarda Oyun Paylaşımı Yapılmaz

Steam Arkadaşlık Kodu Nerede? Nasıl Arkadaş Eklenir?

Steam arkadaş nasıl eklenir? Steam arkadaşlık kodu nerede? Steam üzerinden arkadaşlarınız ile nasıl ekleşebilirsiniz? Popüler oyun satın alma ve oynama platformu olarak karşımıza çıkan ...
Xiaomi 14 ve Samsung S23 Ultra

Xiaomi 14 ve Samsung S23 Ultra: Teknolojinin Zirvesindeki İki Dev

Teknoloji dünyasında sürekli bir yenilik rüzgarı esiyor ve bu rüzgarın en güçlü esintilerinden ikisi, Xiaomi 14 ve Samsung S23 Ultra. Bu iki cihaz, akıllı ...
Cep Telefonu ile Kaliteli Fotoğraf Çekme Yöntemleri

Cep Telefonu ile Kaliteli Fotoğraf Çekme Yöntemleri

Günümüzde cep telefonlarındaki kameralar ile bir profesyonel fotoğraf makinesi gibi kullanılabilmektedir. Bu fotoğrafların çekilirken ve çekildikten sonra yapılacak ufak detaylar, fotoğraf çekerken daha iyi ...
Python Colorama

Python Colorama ile Renkli Konsollar

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 ...
WhatsApp Tek Hesabı Birden Fazla Telefonda Kullanma

WhatsApp Tek Hesabı Birden Fazla Telefonda Kullanma

WhatsApp tek hesabı birden fazla telefonda kullanma güncellemesi ile birlikte artık mesajlarınıza tek bir telefondan değil birden fazla telefon, tablet ve bilgisayar üzerinden erişebilmenize ...