exec mit maskierten strings

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
Kathrin
User
Beiträge: 43
Registriert: Dienstag 6. Dezember 2005, 15:11

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!
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Kathrin hat geschrieben:SyntaxError: EOL while scanning single-quoted string
Ist evtl. eine Klammer nicht geschlossen?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Kathrin
User
Beiträge: 43
Registriert: Dienstag 6. Dezember 2005, 15:11

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
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

\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:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Kathrin
User
Beiträge: 43
Registriert: Dienstag 6. Dezember 2005, 15:11

Oh mann, weiß garnicht, wie ich auf das string.replace gekommen bin :?:

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