2016-06-28 5 views
1

Ich bin neu in Python (etwa eine Woche oder weniger) und ich benutze Python 2.7.Wie können Farben mit Python ausgegeben werden?

Ich schreibe ein Programm, um IP-Validierung und Klassen zu überprüfen, und ich möchte die Ausgabe in Farbe, so dass es am Terminal für den Benutzer besser lesbar sein wird.

Ich habe dies bereits versucht:

# to make the text purple for example. 
print '\033[95m' + "This is a purple output" 
# if i'm writing another simple print after the first one it will be purple too 
print "Example" # now this statement purple too 

aber wenn ich dieses Beispiel die Ausgabe verwenden, nachdem das erste Druckverfahren zu violett worden.

Vielen Dank für jeden, der es versucht.

+0

Sie können dies tun: drucken '\ 033 [95m' + "Dies ist ein lila Ausgang" + '\ 033 [0m' –

+0

ohh ich habe diesen Beitrag nicht gesehen. Entschuldigung – shemesh

Antwort

2

Durch Flucht Druck Code \033[0m, können Sie die Farbe zurück:

>>> print '\033[95m' + "This is a purple output" + '\033[0m' 
This is a purple output 

Alternativ Sie colorama package verwenden können:

>>> from colorama import Fore 
>>> print Fore.LIGHTMAGENTA_EX + "This is a purple output" + Fore.RESET 
This is a purple output 
+0

danke, aber ich brauche einen besseren Weg effizienter. – shemesh

+0

@shemesh, Wie definieren Sie effizient? – falsetru

+0

ich denke, dass '\ 033 [95m' sind nicht notwendig, ich meine, dass es nicht so gut aussieht, wenn Sie den Code lesen. Kann ich die Klasse mit allen Werten der Farben verwenden? – shemesh

1

gut ich denke, dass dies der beste Weg ist, ich denken konnte.

class FontColors: 
    def __init__(self): 
     self.PURP = '\033[95m' 
     self.LIGHTBLUE = '\033[94m' 
     self.ENDC = '\033[0m' 
     self.UNDERLINE = '\033[4m' 
     self.LIGHTYELL = '\033[92m' 
     self.BYELL = '\033[93m' 
     self.FRED = '\033[91m' 
     self.BOLD = '\033[1m' 

color = FontColors() 

# you can try like this - **the color.ENDC meant to make the output normal again.** 
print "{0}This is a Purple output{1}".format(color.PURP, color.ENDC) 
# or like this 
print color.BYELL + "This is a Yellow output" + color.ENDC 

Vielen Dank @falsetru für die Hilfe bei diesem Problem.

+0

Sie müssen sie nicht selbst definieren. Überprüfen Sie meine aktualisierte Antwort. – falsetru

+0

habe es Mann, danke. Ich würde dich abstimmen, aber ich kann es noch nicht. – shemesh