SORU
13 Kasım 2008, PERŞEMBE


Renkleri kullanarak Python ile terminal yazdırma?

Nasıl terminali, Python için renkli metin çıktısı alabilir miyim? Katı bir bloğu temsil etmek için en iyi Unicode sembolü nedir?

CEVAP
13 Kasım 2008, PERŞEMBE


Bu biraz da size bağlıdır. Bunu yapmanın en yaygın yolu, ANSI kaçış dizileri yazdırarak. Basit bir örnek blender build scripts Bazı python kodu var:

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'

Bu kodu kullanmak için, gibi bir şey yapabilirsiniz

print bcolors.WARNING   "Warning: No active frommets remain. Continue?" 
        bcolors.ENDC

Bu OS X, linux ve windows (enable ansi.sys sağlanan) de dahil olmak üzere Unix üzerinde çalışacak. Ansı kodları, renk ayarı, imleci taşımak için, ve daha fazlası vardır.

Eğer alacak ile bu karmaşık (ve söylendiği gibi Eğer size yazılı bir oyun) görünmelidir içine "küfürler" modülü, işler çok karmaşık bir parça için. Python Curses HowTO iyi bir giriştir.

Eğer kullandığınız genişletilmiş ASCII (yani değil bir PC), saplı ascıı karakterler aşağıda 127, ' # ' veya '@' muhtemelen en iyi bahis için bir blok. Eğer ölümcül bir IBM kullanıyor olun Eğer extended ascii character set, çok daha fazla seçenek var. Karakter 176, 177, 178 ve 219 da "blok karakter".

Metin tabanlı bazı modern programları,"", grafik modu ve kullanım görüntüleri taklit metin modunda klasik PC yazı tipi. Kale Cüce gibi Dwarf Fortress Wiki üzerinde kullanabileceğiniz bu bit eşlem görmek (user-made tilesets) bulabilirsiniz.

Text Mode Demo Contest metin modunda grafik yapmak için daha fazla kaynak vardır.

Biraz var sanırım.. Hmm bu cevap üzerine taşıdı. Macera oyunu epik bir metin tabanlı planlama ortasında, ama öyleyim. Renkli metin ile iyi şanslar!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Animation Workshop

    Animation Wo

    8 NİSAN 2010
  • inovationgmbh

    inovationgmb

    28 EYLÜL 2010
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009