Seite 1 von 1

Farbmarkierung von Konsole ersetzen

Verfasst: Sonntag 30. Dezember 2007, 17:17
von moesibaer
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!

Verfasst: Sonntag 30. Dezember 2007, 17:21
von DatenMetzgerX
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)

Verfasst: Sonntag 30. Dezember 2007, 17:22
von moesibaer
oh man, das ist wirklich dämlich von mir :( danke