Ako môžem v jazyku Python vypisovať farebný text do terminálu? Aký je najlepší symbol Unicode na reprezentáciu pevného bloku?
Chcete sa naučiť o escape sekvenciách ANSI. Tu je stručný príklad:
CSI="\x1B["
print(CSI+"31;40m" + "Colored Text" + CSI + "0m")
Viac informácií nájdete na http://en.wikipedia.org/wiki/ANSI_escape_code.
Pre blokový znak skúste použiť znak unicode, napríklad \u2588:
print(u"\u2588")
Ak to všetko spojíme dohromady:
print(CSI+"31;40m" + u"\u2588" + CSI + "0m")
V systéme Windows nemôžete tlačiť na konzolu pomocou farieb, pokiaľ nepoužívate win32api.
V Linuxe je to také jednoduché ako použitie funkcie print s escape sekvenciami, ktoré sú uvedené tu:
Aby sa znak vytlačil ako rámček, záleží naozaj na tom, aký font používate pre konzolové okno. Symbol libry funguje dobre, ale závisí to od písma:
#
Môžete použiť implementáciu knižnice curses v jazyku Python: http://docs.python.org/library/curses.html
Spustite aj tento príkaz a nájdete svoje políčko:
for i in range(255):
print i, chr(i)