101 votes

Est-il possible d'imprimer en utilisant des couleurs différentes dans le Notebook d'ipython?

Est-il possible d'une manière ou d'une autre de faire apparaître une certaine sortie dans une couleur différente dans le carnet IPython? Par exemple, quelque chose dans ce genre:

 print("Bonjour monde en rouge", color='red')

14voto

Matt Points 4457

Non, avec l'impression brute de Python. Vous devrez définir un _repr_html_ sur un objet et le renvoyer ou appeler IPython.lib.display(objet_avec_repr_html).

Je suppose que vous pourriez remplacer l'impression intégrée pour le faire automatiquement...

Vous pourriez vous inspirer de http://nbviewer.ipython.org/5098827, du code dans un gist sur github, discussion ML ici.

10voto

Zags Points 582

Voici la bibliothèque colored (pip install colored), que vous pouvez utiliser pour modifier une chaîne de caractères et obtenir des codes de couleur pour modifier son affichage. Exemple d'utilisation :

import colored
print(colored.bg("white") + colored.fg("red") + "Bonjour le monde!")

6voto

miki Points 74

Merci à la fonction de @alvas et en ajoutant une autre fonction, nous obtenons un moyen très simple d'imprimer.

from IPython.display import HTML as html_print
from IPython.display import display

def cstr(s, color='black'):
    return "{}".format(color, s)

def print_color(t):
    display(html_print(' '.join([cstr(ti, color=ci) for ti,ci in t])))

print_color((('hello my name is', 'black'),('jhjfd','red')))
print_color((('hello my name is', 'green'),))

entrer la description de l'image ici

4voto

geekazoid Points 476

colorama le rend incroyablement simple :

from colorama import Fore
print(Fore.RED + "ceci est rouge")

4voto

Harvey Points 407

Texte en rouge:

print("\x1b[31mTexte en rouge")

Texte en gras:

print("\x1B[1mTexte en gras")

Texte souligné

print("\x1B[4mTexte souligné")

Consultez ici dans le chapitre Styles et Couleurs et voyez ce qui fonctionne pour vous. Les couleurs RGB n'ont pas fonctionné pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X