我试图暂时取消一个我传递给eval
什么都不做的字符串(我没有删除它,因为保留顺序对我的 hacky 配置文件脚本很重要),并且有点恼火的是当我把它'pass'
扔给我时,同样使用空字符串或一些等效的无操作语句。
>>> eval('pass')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
pass
^
SyntaxError: unexpected EOF while parsing
我最终只是喂它None
,但为什么它是一个语法错误?“意外的EOF”让我感到困惑;字符串本身就是一个完整的语句。不eval
容忍关键字?