Seite 1 von 1

exec mit maskierten strings

Verfasst: Donnerstag 9. Februar 2006, 15:29
von Kathrin
Hallo!

Ich muss meinen string.replace mit in einem exec aufrufen.
Sieht folgendermaßen aus (has es ein bisschen vereinfacht, darum ist exec hier unnötig):

Code: Alles auswählen

i = 1
var1 = "Help me!\n"

exec('var%d = var%d.string.replace%s' % (i, i, '("\n", "")')) 
Ich hab hier irgendeinen Syntax-Fehler eingebaut, bekomm nämlich folgende Fehlermeldung: SyntaxError: EOL while scanning single-quoted string
Hab schon versucht, die "s zu maskieren, kriegs aber nicht so ganz hin.

Kann mir jemand helfen, wie ich es richtig aufrufen muss?

Danke, Kathrin!

Re: exec mit maskierten strings

Verfasst: Donnerstag 9. Februar 2006, 15:33
von jens
Kathrin hat geschrieben:SyntaxError: EOL while scanning single-quoted string
Ist evtl. eine Klammer nicht geschlossen?

Verfasst: Donnerstag 9. Februar 2006, 15:37
von Kathrin
doch, sind eigentlich alle Klammern richtig gesetzt und verschlossen.
Hab den Code genauso ausprobiert, wie oben ... klappt nicht.
hab nen Teil von der Fehlermeldung vergessen.

var1 = var1.string.replace("
^
SyntaxError: EOL while scanning single-quoted string

Verfasst: Donnerstag 9. Februar 2006, 15:46
von jens
\n muß escaped werden und ein "string" ist zuviel... Hättest du drauf kommen können, wenn du das ganze mal ein bischen entpopelst:

Code: Alles auswählen

i = 1
var1 = "Help me!\n"

print var1

s = 'var%d = var%d.replace%s' % (i, i, '("\\n", "")')

print s

exec(s)

print var1
:lol:

Verfasst: Donnerstag 9. Februar 2006, 16:14
von Kathrin
Oh mann, weiß garnicht, wie ich auf das string.replace gekommen bin :?:

Jetzt klappts *juhuu*
Danke für die schnelle Hilfe!