Hvordan kan jeg sende farvet tekst til terminalen i Python? Hvad er det bedste Unicode-symbol til at repræsentere en solid blok?
Du vil gerne lære om ANSI escape-sekvenser. Her er et kort eksempel:
CSI="\x1B["
print(CSI+"31;40m" + "Colored Text" + CSI + "0m")
For mere information se http://en.wikipedia.org/wiki/ANSI_escape_code
Som bloktegn kan du prøve et unicode-tegn som \u2588:
print(u"\u2588")
Sæt det hele sammen:
print(CSI+"31;40m" + u"\u2588" + CSI + "0m")
I Windows kan du ikke udskrive til konsollen med farver, medmindre du bruger win32api.
For Linux er det lige så simpelt som at bruge print, med de escape-sekvenser, der er beskrevet her:
For at tegnet skal udskrives som en boks, afhænger det i virkeligheden af hvilken skrifttype du bruger til konsolvinduet. Pund-symbolet fungerer godt, men det afhænger af skrifttypen:
#
Du kan bruge Python-implementeringen af curses-biblioteket: http://docs.python.org/library/curses.html
Kør også dette, og du vil finde din boks:
for i in range(255):
print i, chr(i)