我有一段代码接收格式化为 python 字典的字符串
"{'a':'1','b':'2',...}"
我需要将其转换为正确的字典。
我尝试了两种方法, usingjson.loads(s)
和ast.literal_eval(s)
ast 似乎更加健壮,接受字符串中的任何形式的引号并且“正常工作”,而 json 似乎对引用细节非常挑剔,并且不会仅在一种形式上失败的报价格式。我真的希望输入尽可能灵活,因此更喜欢使用ast
,但是,我的一些同事声称它可能不是一个“安全”的模块和函数来使用。
谁能就 ast 和 ast.literal_eval() 的安全性提出建议,尤其是与 json.loads() 相比?
谢谢