我试图将嵌套字典的值分配给以其键命名的变量。我在Stackoverflow上找到了这段代码,但它只打印密钥和值对:
def myprint(d):
for k, v in d.items():
if isinstance(v, dict):
myprint(v)
else:
print("{0} : {1}".format(k, v))
例如,如果我的字典中有以下内容:{thisIsADummy : 37}
我可以以某种方式创建一个名为thisIsADummy
的变量,该变量以键命名,值为37
所以我的输入应该是print(thisIsADummy)
,输出应该是37
请让我知道,如果有人有任何想法,如何尽可能有效地做到这一点,因为这本字典可能有一千多对。多谢各位
编辑:
使用exec
效果很好,但我在最初的帖子中过于简化了。我需要变量是一个字典,这样当我打开多个文件时,我可以附加值
基本思想是使用“exec”函数,如下所示
注意:仅当键遵循变量名约束时,它才起作用
避免使用
eval()
,试试setattr
(我不确定这是否是更好的方法):结果:
相关问题 更多 >
编程相关推荐