Ako vytlačiť farebný text v termináli v jazyku Python?

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")
Komentáre (2)

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:

Farby

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:

#
Komentáre (0)

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)
Komentáre (1)