为什么ast.literal_eval('1 + 1')在python2.7中是错误的[重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

当我在python2.7中执行代码ast.literal_eval('1+1')时,结果如下:enter image description here我在python3.6中尝试它,它可以正常工作。那是什么原因?

python eval abstract-syntax-tree literals
1个回答
3
投票

2.73.6文档都说如下:

这可用于安全地评估包含来自不受信任来源的Python值的字符串,而无需自己解析值。它无法评估任意复杂的表达式,例如涉及运算符或索引。

添加是一个操作员,因此记录不起作用。它在Python 3.6中工作的事实对我来说是令人惊讶的。搜索错误跟踪器,这种差异被列为Python bug #31778

© www.soinside.com 2019 - 2024. All rights reserved.