将字符串转换为可执行的python代码,并保存该变量名称

时间:2017-04-07 03:16:25

标签: python python-2.7 variables exec

我循环使用以下内容:

a 可能等于某项任务,例如wash_dishes或play_piano

exec("%a = Production(Precondition({%s}),Action({%s},{%s}))" %(a, precondition, stop, start))

list_a.append(a)

期望:list_a = [wash_dishes,play_piano](其中wash_dishes是上面创建的作品,而不是" wash_dishes")

a包含一个字符串(从JSON解析),我想将a(作为变量)的值添加到列表中。

提前致谢!希望有意义!

1 个答案:

答案 0 :(得分:0)

使用字典。在exec()代码中,在替换变量的位置放置引号,因此它将使用其值作为字符串。

symbolTable = {}
exec("symbolTable['%s'] = Production(Precondition({%s}),Action({%s},{%s}))" %(a, precondition, stop, start))

list_a.append(symbolTable[a])