首页 > 解决方案 > 有没有办法将带有某些值的 python 字典字符串转换为 python 命令?

问题描述

如何将其转换为字典?

params = "{'cat_features':[X.columns.get_loc(i) for i in cat_vars], 
'num_boost_round':100, 'eta':.01, 'reg_lambda':1.8, 'verbose':False, 
'loss_function':'MultiClass','early_stopping_rounds':5}"

没有第一部分[X.columns.get_loc(i) for i in cat_vars]我可以运行ast.literal_eval(),但如果字符串中有 python 代码,那将不起作用。知道如何解决这个问题吗?

标签: python

解决方案


您可以使用普通eval的 .

但是,如果字符串来自不受信任的来源,则使用evalis 是有风险的,因为正确构造的字符串可以在运行程序的计算机上执行任何操作。


推荐阅读