python - 有没有办法将带有某些值的 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 代码,那将不起作用。知道如何解决这个问题吗?
解决方案
您可以使用普通eval
的 .
但是,如果字符串来自不受信任的来源,则使用eval
is 是有风险的,因为正确构造的字符串可以在运行程序的计算机上执行任何操作。
推荐阅读
- python - Microsoft 是否提供任何 API 来访问启用宏的 Excel 文件
- python - 从 Django 中的两个视图发送回表单
- java - 如何使用 springdoc-openapi 使可选的 OpenAPI 参数为空?
- spring-security - 为什么我的 Spring http 会话会在几秒钟内被破坏?
- redirect - 与来自 IIS 网站的 Plesk 重定向通信的问题
- reactjs - Ant设计Cascader组件中如何反转选项
- python - 合并两个带有共同值提示的数据框
- html - 在 img type="button" 上添加文本
- caching - 如何理解缓存大小?
- c# - 在 ASP.NET Core MVC 中存储用户角色的正确方法