python - eval() 不在运行时分配变量

标签 python string eval

我使用 eval() 将列表分配给 var:

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

但是当我运行它时,我得到了一个 SyntaxError。它出什么问题了?如果我不能在 eval() 中进行赋值,我该如何在运行时赋值一个 var。

最佳答案

对语句使用exec:

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

eval 仅适用于表达式,如 2*24+5

evalexec 如果字符串来自已知来源则没问题,但如果字符串来自未知来源(用户输入)则不要使用它们).

阅读:Be careful with exec and eval in Python

关于python - eval() 不在运行时分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17230005/

相关文章:

python - Selenium 发送 key 登录框不起作用

python - scipy.optimize.leastsq 错误不是 float 组

string - 在 UNIX 中基于分隔符分割行

php - 评估字符串作为条件 PHP

javascript - eval javascript 函数 IE6 需要很长时间

python - 如何在 Django 模型中传递带有字符串的类名

python - 将多个不同长度的时间序列合并成一个二维矩阵

python - pypeg 无法用列表组成语法?

java - 字符串切换回之前的值

python - 如何在 Python 中将字符串转换为 "command"?