Comment imprimer un texte coloré dans le terminal en Python ?

Comment puis-je envoyer du texte coloré au terminal, en Python ? Quel est le meilleur symbole Unicode pour représenter un bloc solide ?

Vous voulez apprendre les séquences d'échappement ANSI. Voici un bref exemple :

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

Pour plus d'informations, voir http://en.wikipedia.org/wiki/ANSI_escape_code

Pour un caractère de bloc, essayez un caractère unicode comme \u2588 :

print(u"\u2588")

Pour tout mettre en place :

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

Sous Windows, il n'est pas possible d'imprimer sur la console avec des couleurs, sauf si vous utilisez la win32api.

Pour Linux, il suffit d'utiliser print, avec les séquences d'échappement décrites ici :

[Couleurs][1]

Pour que le caractère s'imprime comme une boîte, cela dépend vraiment de la police que vous utilisez pour la fenêtre de la console. Le symbole de la livre fonctionne bien, mais cela dépend de la police :

#

[1] : http://www.linuxhowtos.org/Tips%20and%20Tricks/ansi_escape_sequences.htm

Commentaires (0)

Vous pouvez utiliser l'implémentation Python de la bibliothèque curses : [http://docs.python.org/library/curses.html][1]

Exécutez également cette commande et vous trouverez votre boîte :

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

[1] : http://docs.python.org/library/curses.html

Commentaires (1)