目前我有这段代码,它从包含类似于[{'1': {'Score': '2', 'Class': '3'}}]的内容的文件中读取并将其分配给一个变量:

exec('assigns = ' + open(r'D:\Dropbox\Dev\Output\dict', 'r').read())

然而,我被告知使用exec是危险的。如果不使用exec,如何编写相同的代码?

最佳答案

使用ast.literal_eval()

assigns = ast.literal_eval(open(r'D:\Dropbox\Dev\Output\dict', 'r').read())

它只计算文本,不计算函数调用或运算符。

关于python - 从文件中读取列表和字典,无需执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5286128/

10-09 21:16