Fei Xue Fei Xue - 7 months ago 69
Python Question

eval() does not assign variable at runtime

I use

to assign a list to a var:

eval('mylist = [1,2,3]')

but when I run it , I got a SyntaxError. What's wrong with it? If I cannot do assignment in the
, how do I assign a var in the runtime.


Use exec for statements:

>>> exec 'lis = [1,2,3]'
>>> lis
[1, 2, 3]

eval works only on expressions, like 2*2,4+5 etc

eval and exec are okay if the string is coming from a known source, but don't use them if the string is coming from an unknown source(user input).

Read : Be careful with exec and eval in Python