Farbmarkierung von Konsole ersetzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
moesibaer
User
Beiträge: 16
Registriert: Donnerstag 27. Dezember 2007, 15:54
Kontaktdaten:

Hallo,

ich versuche die Rückgabe einer Konsole in HTML umzuwandeln. Dazu wollte ich die Farbmarkierungen per ´´replace´´ funktion umwandeln.

So sieht der code momentan abschnittsweise aus:

Code: Alles auswählen

colors = {
 "blue": "\x1b[01;34m",
 "cyan": "\x1b[01;36m",
 "green": "\x1b[01;32m",
 "magenta": "\x1b[01;35m",
 "red": "\x1b[01;31m"
}

norm = '\x1b[00m'

for color,code in colors.iteritems():
    cmdResult.replace(code,"<span color='%s'>" % color)
cmdResult.replace(norm,"</span")
Die Replace Funktion ändert jedoch nichts an dem String.

Versuche ich das ganze in der Konsole, klappt es wunderbar. Der einzige Unterschied in der Konsole ist, dass ich keine Schleife verwende und die gewonnen Variable einsetze sondern den String direkt in die ´´replace´´ Funktion eintrage, also z.B:

Code: Alles auswählen

cmdResult.replace("\x1b[01;34m","<span color='%s'>" % color)
Hier wird alles wunderschön ersetzt. Jemand eine Idee?

Danke!
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

string.replace(search, replace) gibt dir einen String zurück, der das gesuchte Elment ersetzt hat, modifiziert aber nicht den ursprünglichen String

also

Code: Alles auswählen

cmdResult = cmdResult.replace(code, "<span color='%s'>" % color)
moesibaer
User
Beiträge: 16
Registriert: Donnerstag 27. Dezember 2007, 15:54
Kontaktdaten:

oh man, das ist wirklich dämlich von mir :( danke
Antworten