= in eval

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
AllesMeins
User
Beiträge: 63
Registriert: Donnerstag 20. November 2003, 13:45
Wohnort: Frankfurt/M.

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
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
Antworten