Skip to content
loading...

re: Is there a way to pass an object to ast.literal_eval to give it variables? VIEW POST

TOP OF THREAD FULL DISCUSSION
re: Have you looked at the eval function? It evaluates any python expression, so it for sure does the second thing you asked for. I did not really unde...
 

What I mean, is ast.literal_eval is meant to be a safe version of eval right? Well, take eval, and be able to pass it to it, similar to this:


Python AST Literal Eval

literal_eval("#safe expression e.g. 1*5#")



My Idea:

new_eval("x*y",{
    "x": 4,
    "y": 3
}) # Should return 12
 

So the problem with literal_eval is that it only supports literals. Literals are things like writing a number, string, lists or tuples using their respective syntax. However, you are correct in eval being very unsafe.

I found this project which might be useful or work as inspiration, as it is MIT licensed: github.com/danthedeckie/simpleeval

code of conduct - report abuse