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

= in eval

Beitragvon AllesMeins » Samstag 26. Juni 2004, 18:01

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

Beitragvon Dookie » Samstag 26. Juni 2004, 18:59

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder