Seite 1 von 1

= in eval

Verfasst: Samstag 26. Juni 2004, 18:01
von AllesMeins
Hiho,

ich versuche gerade mit Hilfe von eval() einen Text auszuführen. Das klappt auch sehr gut solange kein = in den Befehlen enthalten ist. Aber sobald ich versuche mit Hilfe von eval() etwas zuzuweisen erhalte ich einen Fehler

text = "var = 3"
eval(text)

Code: Alles auswählen

Traceback (most recent call last):
  File "test.py", line 3, in ?
    eval(text)
  File "<string>", line 1
    var = 3
        ^
SyntaxError: invalid syntax
Gehen Zuweisungen per eval() gar nicht oder mache ich einfach etwas falsch?

Grüsse

Marc

Verfasst: Samstag 26. Juni 2004, 18:59
von Dookie
Hi Marc,

innerhalb von einem Ausdruck für eval kannst Du keine Zuweisungen machen, aber das Ergebnis kannst Du einer Variablen zuweisen.

Code: Alles auswählen

test = "3+4"
var = eval(test)
mit exec kannst Du aber auch Zuweisungen machen

Code: Alles auswählen

test = "var = 3"
exec(test)
print var

Gruß

Dookie