Kako natisniti barvno besedilo v terminalu v Pythonu?

Kako lahko v programu Python na terminal izpišem obarvano besedilo? Kateri je najboljši simbol Unicode za predstavitev polnega bloka?

Želite se naučiti o zaporedjih pobega ANSI. Tukaj je kratek primer:

CSI="\x1B["
print(CSI+"31;40m" + "Colored Text" + CSI + "0m")

Za več informacij glejte http://en.wikipedia.org/wiki/ANSI_escape_code

Za blokovni znak poskusite uporabiti znak v kodi Unicode, kot je \u2588:

print(u"\u2588")

Vse skupaj:

print(CSI+"31;40m" + u"\u2588" + CSI + "0m")
Komentarji (2)

V sistemu Windows ne morete tiskati v konzolo z barvami, razen če uporabljate vmesnik win32api.

Za Linux je to tako preprosto, kot če uporabite tiskanje z zaporedji escape, opisanimi tukaj:

Barve

Če želite, da se znak izpiše kot polje, je to odvisno od pisave, ki jo uporabljate za konzolno okno. Simbol funta deluje dobro, vendar je to odvisno od pisave:

#
Komentarji (0)

Uporabite lahko izvajanje knjižnice curses v jeziku Python: http://docs.python.org/library/curses.html

Zaženite tudi to in našli boste svojo škatlo:

for i in range(255):
    print i, chr(i)
Komentarji (1)