Python befehl in variable?
Wie führe ich einen Befehl aus der in einer Variable steht. Sagen wir in der variable var steht "print("Hello world")", erhalte ich keinen output wenn ich einfach var als befehl angebe. Wie ist es möglich var auszuführen?
2 Antworten
"print("Hello world")"
Wenn du einen String in einem String über Anführungszeichen verwenden willst, musst du das etwas separieren und andere Anführungszeichen nutzen, sonst ist der String nach dem zweiten " vorbei.
Hierbei kannst du dann ' nutzen
Wie ist es möglich var auszuführen?
Dafür gibt es die eval-Funktion
als Ergänzung zur Antwort, die Du schon bekommen hast: wenn möglich vermeide das. Und wenn nicht, vermeide es trotzdem.
Daten und Code zu mischen ist eine ganz schlechte Idee und die Quell von unglaublich bösen Fehlern und Sicherheitslücken.
nana, eine remote code execution Lücke bleibt so eine Lücke -- egal was ich als Container oder VM drum rum packe.
Wenn die Hülle hält kann ich vielleicht nicht ausbrechen und den ganzen Server übernehmen. Die Applikation ist jedoch kompromittiert, d.h. ich bekomme sehr wahrscheinlich an alle Daten ran.
Sicherheitslücken lassen sich hierbei mit dem über docker laufenden snekbox vermeiden. Ich möchte auf keinen Fall damit sagen dass es zu 100% sicher ist aber es sollte keine großen Probleme aufweisen.
Fehler hingegen können hier aber nur vom Developer begannen werden.
An sich muss ich dir zustimmen dass es eine ganz schlechte Idee seie Daten und Code zu vermischen kann aber in manchen Fällen code "schöner" machen und hilfreich sein.