栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python将字符串对象转换为字典

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python将字符串对象转换为字典

不要使用

eval
。如果您确定该字符串将始终包含有效的Python
dict
,请使用
ast.literal_eval
。这工作很像
eval
,但如果表达式是有效的,只计算
dict
list
等,如果不是抛出一个例外。这比尝试在运行时评估可能包含任意代码的字符串安全得多。

从文档:

安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典,布尔值和无。

这可用于安全地评估包含来自不受信任来源的Python表达式的字符串,而无需自己解析值。

代码示例:

>>> import ast>>> ast.literal_eval("1+1")Traceback (most recent call last):  File "<stdin>", line 1, in <module>  File "/usr/lib/python2.6/ast.py", line 68, in literal_eval    return _convert(node_or_string)  File "/usr/lib/python2.6/ast.py", line 67, in _convert    raise ValueError('malformed string')ValueError: malformed string>>> ast.literal_eval(""1+1"")'1+1'>>> ast.literal_eval("{'a': 2, 'b': 3, 3:'xyz'}"){'a': 2, 3: 'xyz', 'b': 3}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611435.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号