Hvordan skrive ut farget tekst i terminal i Python?

Hvordan kan jeg sende farget tekst til terminalen i Python? Hva er det beste Unicode-symbolet for å representere en solid blokk?

Du vil lære om ANSI escape-sekvenser. Her er et kort eksempel:

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

For mer informasjon, se http://en.wikipedia.org/wiki/ANSI_escape_code

For et blokktegn, prøv et unicode-tegn som \u2588:

print(u"\u2588")

Sette alt sammen:

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

For Windows kan du ikke skrive ut til konsollen med farger med mindre du bruker win32api.

For Linux er det like enkelt som å bruke utskrift, med escape-sekvensene som er skissert her:

Farger

For at tegnet skal skrives ut som en boks, avhenger det virkelig av hvilken font du bruker for konsollvinduet. Pund-symbolet fungerer bra, men det avhenger av skrifttypen:

#
Kommentarer (0)

Du kan bruke Python-implementeringen av forbannelsesbiblioteket: http://docs.python.org/library/curses.html

Kjør også dette, så finner du boksen din:

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