Pythonda colorama modülü ile yazılara renk veriyorum ancak şöyle bir durum var.
Printin başında verirsem başında boşluk bırakıyor, Önce verirsem bir satır atlatıyor.
Bir de verdiğim renk sadece o yazıda yazılsın istiyorum yani diğer yazılar için varsayılana dönmesini istiyorum. Bunu Style.RESET_ALL ile yaptım ancak bunu da onlarca yerde kullanmak insanı yoruyor. Zaten bunlar yazıda boşluk bıraktığı içinde pek sıcak bakmıyorum var mı uygun bir kullanımı?
Bi de kullandigin isletim sistemini ve terminal emulatorunu soylemen lazim cunku colorama Windows gibi ANSI destegi olmayan sistemlerde turlu workaround’lar kullaniyor. ("-ler" dedigime bakma, desteklemeyen sadece Windows’un cmd’si var)
Alternatif ANSI sekanslarini dogrudan kullanmak:
print("\033[31mKirmizi\033[0m")
Ve evet, her renk degistirmek istediginde kod kullanmak zorundasin, ve rengi resetlemek de bir degisim. (Yoksa degistirmek istedigini bilgisayar nasil anlayacak?)
Gördüğünüz gibi ne boşluk var ne de satır atlanmış.
Verilen Rengin Her Seferinde Varsayılan Renge Döndürülmesi
Yukarıdaki koddan bir alıntı yapıyorum :
init(autoreset=True)
Buradaki autoreset=True kısmı renklerin otomatik olarak sıfırlanacağını gösteriyor. Şimdi kodda bir kelimeyi değiştirelim ve işe yarayıp yaramadığını görmek için başka bir yazı da ekleyelim :
main.py
from colorama import Fore, init
init(autoreset=False) #False olarak değiştirdik
print(Fore.RED + "Kırmızı")
print("Sorun çözüldü!")
input()
Bu sefer çıktımız şu şekilde :
(Neden yeni kullanıcılar 2 fotoğraf ekleyemiyor? @moderators)
class Color_utils:
RED = “\033[1;31m”
GREEN = “\033[1;32m”
BLUE = “\033[1;34m”
YELLOW = “\033[1;33m”
BOLD = “\033[1;37m”
CYAN = “\033[1;36m” # Turkuaz
normal = “\033[1;0m”
def print_error(string):
print(Color_utils.RED,"[-]",Color_utils.BOLD,string,normal)
# Ama tek paramatre almasın *args yapın