Jak drukować kolorowy tekst w terminalu w Pythonie?

Jak mogę wypisać kolorowy tekst do terminala w Pythonie? Jaki jest najlepszy symbol Unicode do reprezentowania litego bloku?

Chcesz się nauczyć o sekwencjach ucieczki ANSI. Oto krótki przykład:

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

Więcej informacji znajdziesz na stronie http://en.wikipedia.org/wiki/ANSI_escape_code

Aby uzyskać znak blokowy, spróbuj użyć znaku unicode, takiego jak \u2588:

print(u"\u2588")

Składając to wszystko razem:

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

Dla Windows nie możesz drukować do konsoli z kolorami, chyba że używasz win32api.

Dla Linuksa jest to tak proste jak użycie print, z sekwencjami ucieczki opisanymi tutaj:

Colors

Aby znak drukował się jak pudełko, to naprawdę zależy od tego, jakiej czcionki używasz w oknie konsoli. Symbol funta działa dobrze, ale to zależy od czcionki:

#
Komentarze (0)

Możesz użyć implementacji biblioteki curses w języku Python: http://docs.python.org/library/curses.html

Uruchom również to i'znajdziesz swoją skrzynkę:

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