今天在使用exec执行Python代码时,产生了获取不到变量值的情况:
解决方案如下:
a=parameter[0]["data"]
# 设置作用域用来获取参数
q1 = {}
sc=compile(a,'<string>','exec')
exec(sc,q1)
parameter=q1['data2']
这里不直接使用exec的原因是:1.基于__module__属性的模块会失败;2.内存泄漏;
具体可以参考:https://lucumr.pocoo.org/2011/2/1/exec-in-python/