是否有一种本机方式可以安全地评估简单的Python表达式,如:
a = ['None', 'False', '0', '0.0', '"s"', '(0,)', '[0,]']
这些可以例如由HTTP GET提供,如:
http://...?alfa=1&bravo=True&delta=1.0&charlie="s"&echo=None
评估结果应该是Python类型,如None
,bool
,int
,float
,str
等。
使用Python eval
进行评估是明显的起点,但由于eval
不安全,因此不能直接用于评估来自HTTP GET的参数。
对简单的Python表达式进行安全评估的好方法是什么?