【发布时间】:2017-03-14 18:50:08
【问题描述】:
从 ast 文档我可以得到以下信息:
安全地评估包含 Python 文字或容器显示的表达式节点或 Unicode 或 Latin-1 编码字符串。提供的字符串或节点只能由以下 Python 文字结构组成:字符串、数字、元组、列表、字典、布尔值和无。
由此看来, ast.literal_eval(None) 应该可以工作。
但是在 python 2.7 中,当我尝试执行 ast.literal_eval(None) 时出现 ValueError: malformed string。 如果我执行 ast.literal_eval('None'),则不会发生这种情况。
谁能解释为什么?我查看了 StackOverflow 上关于 ast.literaleval 和格式错误的字符串的其他问题,但没有一个能解决这个问题。
【问题讨论】:
标签: python-2.7