Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python 3*中将字符串转换为字典?_Python_Python 3.x_Dictionary - Fatal编程技术网

如何在python 3*中将字符串转换为字典?

如何在python 3*中将字符串转换为字典?,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我想在不使用Python 3.5中的eval()函数的情况下将以下字符串转换为字典 d=“{'Age':7,'Name':'Manni'}”; 有谁能告诉我比使用eval()函数更好的方法吗 我真正想要的是一个可以直接将字典转换成字符串的函数 literal\u eval,一个稍安全的eval版本(只评估文本,即字符串、列表等): json.loads但需要字符串使用双引号: import json python_dict = json.loads('{"a": 1}') 这个问题是关

我想在不使用Python 3.5中的
eval()
函数的情况下将以下字符串转换为字典

d=“{'Age':7,'Name':'Manni'}”;
有谁能告诉我比使用
eval()
函数更好的方法吗

我真正想要的是一个可以直接将字典转换成字符串的函数

  • literal\u eval
    ,一个稍安全的
    eval
    版本(只评估文本,即字符串、列表等):

  • json.loads
    但需要字符串使用双引号:

    import json
    
    python_dict = json.loads('{"a": 1}')
    

  • 这个问题是关于Python3的,被标记为Python2的副本。我不认为这个问题应该被标记为副本。我对为什么
    json.loads()
    不适用于我感到疯狂。谢谢你的澄清。@DeepSpace你能告诉我为什么它更安全吗?我注意到它的CPU相当昂贵solution@Olfredos6这与CPU使用率无关
    eval
    非常不安全,尤其是与不受控制的用户输入一起使用时。看看如果执行
    import操作系统会发生什么;eval(“os.remove('do\u not\u replace\u with\u a\u valid\u path'))
    。另一方面,
    literal\u eval
    只适用于文本
    literal\u eval(“os.remove('do\u not\u replace\u with\u a\u valid\u path')”)
    outputs
    ValueError:格式错误的节点或字符串
    @DeepSpace OK。。。
    import json
    
    python_dict = json.loads('{"a": 1}')