如何将指定格式的字符串转换为字典?
将字符串转换为Python字典的几种方法
下面是几种实现将格式类似{'ind': 'a', 'system': 'x'}的字符串转换为Python字典的方法:
方法一:使用
eval()
这是最直接的方式,但仅适用于可信的字符串(避免执行恶意代码):str_data = "{'ind': 'a', 'system': 'x'}" dict_data = eval(str_data)方法二:使用
ast.literal_eval()(推荐)
这是更安全的方案,它只会解析Python字面量,不会执行任意代码,需要先导入ast模块:import ast str_data = "{'ind': 'a', 'system': 'x'}" dict_data = ast.literal_eval(str_data)方法三:结合
json.loads()
JSON格式要求键值对使用双引号,因此先将字符串中的单引号替换为双引号,再用json模块解析:import json str_data = "{'ind': 'a', 'system': 'x'}" json_str = str_data.replace("'", '"') dict_data = json.loads(json_str)注意:如果字符串中包含嵌套的单引号(比如值为
"don't"),这种替换会导致解析错误,需根据实际情况判断是否适用。
内容的提问来源于stack exchange,提问作者JakeLong
相关产品推荐
相关产品推荐

