46 votes

Changer la couleur du texte de la coquille (Windows)

Je suis à la recherche d'un moyen de changer la couleur du texte renvoyé par mes scripts Python pendant leur exécution. L'idée de base est quelque chose comme ceci :

if (Data < LowerLimit):
    print "Failed" # Renvoyer Failed en texte rouge
elif (Data > UpperLimit):
    print "Failed" # Couleur rouge
else:
    print "Passed" # Couleur bleue

Les scripts sont utilisés sur des machines Windows pour une analyse de données rapide.

5 votes

Un doublon, bien que presque aucune des solutions proposées dans la question liée ne fonctionne sur Windows.

0 votes

Veuillez consulter la réponse ici => stackoverflow.com/a/70599663/3057246

74voto

Jakob Bowyer Points 12873

Ou à propos du meilleur module que j'ai trouvé http://pypi.python.org/pypi/colorama

2 votes

Oui - colorama fonctionne effectivement pour l'invite de commandes Windows 7. Avant Windows 10, les codes ANSI ne fonctionnent pas (pour une raison inexplicable) dans l'invite de commandes. Colorama peut utiliser des commandes Win32 de manière entièrement transparente - ce qui le rend fonctionnel et facile à utiliser. Je suis content d'avoir enfin trouvé une solution à ce problème.

0 votes

@Noiseinthestreet Pouvez-vous faire ça => stackoverflow.com/a/70599663/3057246

16voto

Daymarquez Points 1

C'est extrêmement simple! Plutôt que d'importer des modules étranges pour python ou d'essayer de longues commandes, vous pouvez profiter des commandes du système d'exploitation Windows.

Sous Windows, il existe des commandes pour changer la couleur du texte de l'invite de commande. Vous pouvez l'utiliser en python en commençant par un: import os

Ensuite, vous devez avoir une ligne qui change la couleur du texte, placez-la où vous le souhaitez dans votre code. os.system('color 4')

Vous pouvez découvrir les autres couleurs en lançant cmd.exe et en tapant color help.

Le bon côté? C'est tout ce qu'il y a à faire, juste deux lignes de code. -Day

2voto

Artsiom Rudzenka Points 9771

Essayez de regarder le lien suivant : Python | change text color in shell

Ou lisez ici : http://bytes.com/topic/python/answers/21877-coloring-print-lines

En général, la solution consiste à utiliser des codes ANSI lors de l'impression de votre chaîne de caractères.

Il existe une solution qui fait exactement ce dont vous avez besoin.

-4voto

Neil Points 1

Je me suis penché sur cette question depuis un certain temps et je n'ai pas obtenu de réponses satisfaisantes, cependant...

1) Les séquences d'échappement ANSI fonctionnent dans un terminal sur Linux

2) si vous pouvez tolérer un ensemble limité de couleurs, essayez ceci :

print("hello", end=''); print("error", end='', file=sys.stderr); print("goodbye")

Dans idle, "hello" et "goodbye" sont en bleu et "error" est en rouge.

Pas fantastique, mais suffisant pour le moment, et facile !

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