相关疑难解决方法(0)

使用python的eval()与ast.literal_eval()?

我有一些代码的情况,eval()作为一种可能的解决方案.现在我从来没有使用eval()过,但是,我已经发现了很多关于它可能造成的潜在危险的信息.也就是说,我对使用它非常谨慎.

我的情况是我有一个用户给出的输入:

datamap = raw_input('Provide some data here: ')
Run Code Online (Sandbox Code Playgroud)

哪里datamap需要是字典.我四处搜索,发现eval()可以解决这个问题.我认为在尝试使用数据之前我可以检查输入的类型,这将是一个可行的安全预防措施.

datamap = eval(raw_input('Provide some data here: ')
if not isinstance(datamap, dict):
    return
Run Code Online (Sandbox Code Playgroud)

我仔细阅读了文档,但我仍然不清楚这是否安全.eval在输入或datamap调用变量后立即评估数据吗?

ast模块是.literal_eval()唯一安全的选择吗?

python eval abstract-syntax-tree

154
推荐指数
6
解决办法
14万
查看次数

在Python中使用eval?

eval()Python中有一个函数我在玩游戏时偶然发现.我不能想到需要这个功能的情况,除了可能是语法糖.谁能举个例子?

python eval dynamic

23
推荐指数
5
解决办法
4万
查看次数

将一个字符串转换为正确的列表python

如何将此字符串作为列表转换为正确的列表?

mylist = "['KYS_Q5Aa8', 'KYS_Q5Aa9']"
Run Code Online (Sandbox Code Playgroud)

我厌倦了,但这不是我所期待的:

print mylist.split()
["['KYS_Q5Aa8',", "'KYS_Q5Aa9']"]
Run Code Online (Sandbox Code Playgroud)

我喜欢这样:

['KYS_Q5Aa8','KYS_Q5Aa9']
Run Code Online (Sandbox Code Playgroud)

谢谢

python string list

8
推荐指数
1
解决办法
403
查看次数

标签 统计

python ×3

eval ×2

abstract-syntax-tree ×1

dynamic ×1

list ×1

string ×1