Python renkli yazmak

CinarYilmaz

Hectopat
Katılım
27 Ağustos 2020
Mesajlar
2.180
Çözümler
18
Yer
Istanbul
Python öğreniyorum ve renkli yazı yazmaya çalışıyorum. Aşağıdaki kodu kullandığımda PyCharm'da işe yarıyor ama dosyayı direkt açtığımda (C:\Windows\py.exe ile açıyor) renkli olmuyor, çorba gibi. Nasıl direkt açıldığında da renkli yazmasını sağlayabilirim?
Python:
import socket
import getpass


class renkler:
    PEMBE = '\033[95m'
    MAVI = '\033[94m'
    CAMGOBEGI = '\033[96m'
    YESIL = '\033[92m'
    SARI = '\033[93m'
    KIRMIZI = '\033[91m'
    DUZ = '\033[0m'
    KALIN = '\033[1m'
    ALTICIZILI = '\033[4m'


class lang:
    class tr:
        unknown_command = "Bilinmeyen komut."


dizin = "C:\\"
yetki = "$"
if dizin == "C:\\":
    goruntulenen_dizin = "~"
else:
    goruntulenen_dizin = dizin
run = True

commands = ["exit"]

while run:
    command = input(
        renkler.YESIL + getpass.getuser() + "@" + socket.gethostname() + renkler.DUZ + ":" + renkler.CAMGOBEGI + dizin + renkler.DUZ + yetki + " ")
    if command not in commands:
        print(lang.tr.unknown_command)
    if command == "exit":
        exit(0)
1612825059069.png

1612825079107.png
 
Python öğreniyorum ve renkli yazı yazmaya çalışıyorum. Aşağıdaki kodu kullandığımda PyCharm'da işe yarıyor ama dosyayı direkt açtığımda (C:\Windows\py.exe ile açıyor) renkli olmuyor, çorba gibi. Nasıl direkt açıldığında da renkli yazmasını sağlayabilirim?
Python:
import socket.
import getpass.

class renkler:
PEMBE = '\033[95m'
MAVI = '\033[94m'
CAMGOBEGI = '\033[96m'
YESIL = '\033[92m'
SARI = '\033[93m'
KIRMIZI = '\033[91m'
DUZ = '\033[0m'
KALIN = '\033[1m'
ALTICIZILI = '\033[4m'

class lang:
class tr:
unknown_command = "Bilinmeyen komut."

dizin = "C:\\"
yetki = "$"
if dizin == "C:\\":
goruntulenen_dizin = "~"
else:
goruntulenen_dizin = dizin.
run = True.

commands = ["exit"]

while run:
command = input(
renkler.YESIL + getpass.getuser() + "@" + socket.gethostname() + renkler.DUZ + ":" + renkler.CAMGOBEGI + dizin + renkler.DUZ + yetki + " ")
if command not in commands:
print(lang.tr.unknown_command)
if command == "exit":
exit(0)
Eki Görüntüle 871639
Eki Görüntüle 871642

Bu makale işinizi görür: Python ile Terminal'i Renklendirme (Colorama)
 
OS modülünü import et. Fonksiyon oluştur, daha sonra hangi sistemde program çalışacaksa onun terminal renklendirme kodundan yararlan. Windows için color gibi. Her seferinde o fonksiyonu çağırıp keyfine bak.
Hocam, tam olarak anlamadım. Ben tek bir string olarak yazdırıyorum (input fonksiyonunun içinde) ve bir satırda birden fazla renk var. Nasıl öyle yapacağım? Örnek olarak aa tarzında bir şey yazan bir kod paylaşabilir misiniz?
 
Eki Görüntüle 871874


Sty kütüphanesi ile basitçe yapılabiliyor. Ancak Powershell ve CMD renk kodlarını diğer CLI'lar gibi işlemiyor.

Python:
from sty import fg

jelly = fg.red + 'Jelly'
beanci = fg.green + 'Beanci'
print(jelly,beanci)
Hocam;
Yeni kodum:
Python:
import socket
import getpass
from sty import fg

class lang:
    class tr:
        unknown_command = "Bilinmeyen komut."


dizin = "C:\\"
yetki = "$"
if dizin == "C:\\":
    goruntulenen_dizin = "~"
else:
    goruntulenen_dizin = dizin
run = True

commands = ["exit"]

while run:
    command = input(
        fg.green + getpass.getuser() + "@" + socket.gethostname() + fg.white + ":" + fg.cyan + dizin + fg.white + yetki + " ")
    if command not in commands:
        print(lang.tr.unknown_command)
    if command == "exit":
        exit(0)
PyCharm'da çalışıyor ama:
1612873348045.png

Çift tıklayarak açınca çalışmıyor:
1612873372903.png

Bu da aynı şeyi yapıyor sanırım.
 

Yeni konular

Geri
Yukarı