从Python 2.6开始,现在有ast.literal_eval:
>>>导入AST
>>>帮助(ast.literal_eval)
帮助ast模块中的literal_eval函数:
literal_eval(node_or_string)
安全地评估表达式节点或包含Python的字符串
表达。提供的字符串或节点只能由以下内容组成
Python文字结构:字符串,数字,元组,列表,字典,布尔值,
和没有。
这似乎工作,只要你确信你的字符串将是两种"True"或"False":
>>> ast.literal_eval(“ True”)
真正
>>> ast.literal_eval(“ False”)
假
>>> ast.literal_eval(“ F”)
追溯(最近一次通话):
文件“”,第1行,位于
在literal_eval中,文件“ /opt/Python-2.6.1/lib/python2.6/ast.py”,第68行
返回_convert(node_or_string)
_convert中的文件“ /opt/Python-2.6.1/lib/python2.6/ast.py”,第67行
引发ValueError('格式错误的字符串')
ValueError:格式错误的字符串
>>> ast.literal_eval(“'False'”)
'假'
我通常不建议这样做,但是它是完全内置的,根据您的要求可能是正确的选择。