为什么在创建变量x之后出现此错误:“ NameError:未定义名称'x'”?

时间:2019-08-02 23:16:22

标签: python json

我得到了

  

即使我刚刚定义了变量x,也出现“ NameError:未定义名称'x'”错误。

我将json对象转换为python字典,然后遍历字典以从键名创建变量。因此,对于每个key:value对,“ key”都将变成一个具有该对中“ value”的值的变量。该代码如下所示:

data = json.loads(data)
for key,value in data[0].items():
    exec("%s = '%s'" % (key,value))

但是,当我然后尝试将那些新创建的变量传递到代码中以将它们放入SQL表时,我收到了上面的错误消息,使该变量看起来好像不存在。有了这些额外的代码,它看起来像这样:

data = json.loads(data)
for key,value in data[0].items():
  exec("%s = '%s'" % (key,value))
x = examples.table_name(key1=key1, key2=key2, key3=key3)
session.add(x)
session.commit()

知道为什么会这样吗?

0 个答案:

没有答案
相关问题