Hoe gekleurde tekst afdrukken in terminal in Python?

Hoe kan ik gekleurde tekst uitvoeren naar de terminal, in Python? Wat is het beste Unicode-symbool om een massief blok weer te geven?

Je wilt leren over ANSI escape sequences. Hier's een kort voorbeeld:

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

Voor meer info zie http://en.wikipedia.org/wiki/ANSI_escape_code

Voor een blokteken, probeer een unicode teken zoals \u2588:

print(u"\u2588")

Zet het allemaal samen:

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

Voor Windows kunt u niet naar de console afdrukken met kleuren tenzij u de win32api gebruikt.

Voor Linux is het zo simpel als het gebruik van print, met de escape-sequenties die hier worden beschreven:

Kleuren

Voor het karakter om af te drukken als een doos, hangt het echt af van welk lettertype je gebruikt voor het consolevenster. Het pond symbool werkt goed, maar het hangt af van het lettertype:

#
Commentaren (0)

Je kunt de Python implementatie van de curses bibliotheek gebruiken: http://docs.python.org/library/curses.html

Ook, voer dit uit en je'zult je doos vinden:

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