¿Cómo imprimir texto coloreado en la terminal en Python?

¿Cómo puedo enviar texto coloreado a la terminal, en Python? ¿Cuál es el mejor símbolo Unicode para representar un bloque sólido?

Quieres aprender sobre las secuencias de escape ANSI. He aquí un breve ejemplo:

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

Para más información, consulte http://en.wikipedia.org/wiki/ANSI_escape_code

Para un carácter de bloque, pruebe con un carácter unicode como \u2588:

print(u"\u2588")

Poniendo todo junto:

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

Para Windows no se puede imprimir en la consola con colores a menos que se utilice el win32api.

Para Linux es tan sencillo como usar print, con las secuencias de escape que se indican aquí:

Colores

Para que el carácter se imprima como una caja, realmente depende de la fuente que estés usando para la ventana de la consola. El símbolo de la libra funciona bien, pero depende de la fuente:

#
Comentarios (0)

Puede utilizar la implementación en Python de la biblioteca curses: http://docs.python.org/library/curses.html

Además, ejecuta esto y encontrarás tu caja:

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