📅  最后修改于: 2023-12-03 15:19:19.904000             🧑  作者: Mango
在 Python 编程中,将字符串内容转换为字典是一项非常常见的任务。Python 提供了一种内置函数 eval()
可以实现这个任务。
下面是一个简单的例子,展示了如何使用 eval()
函数将一个字符串转换为一个字典:
string = '{ "name": "John", "age": 30, "city": "New York"}'
dictionary = eval(string)
print(dictionary)
输出:
{'name': 'John', 'age': 30, 'city': 'New York'}
在上面的代码中,我们将一个含有三个键值对的字典转换为一个字符串,并使用 eval()
函数将它再次转换为一个字典。
需要注意的是,使用 eval()
函数时必须保证字符串内容是合法的 Python 代码。如果字符串内容格式不正确,将会抛出语法错误。
除了 eval()
函数外,Python 的 json
模块同样提供了一种将字符串内容转换为字典的方法。
下面是一个使用 json.loads()
函数将字符串转换为字典的例子:
import json
string = '{ "name": "John", "age": 30, "city": "New York"}'
dictionary = json.loads(string)
print(dictionary)
输出:
{'name': 'John', 'age': 30, 'city': 'New York'}
如果字符串内容格式不正确,json.loads()
函数将会抛出一个 JSONDecodeError
异常。
无论是使用 eval()
函数还是 json.loads()
函数,都要格外小心。由于字符串内容来源不可靠,如果不进行好的安全检查和处理,将会存在风险。一些常见的常见风险有代码注入攻击等。因此,对于不能确定来源的字符串内容,尽量避免使用 eval()
函数,建议使用 json.loads()
函数。