我在Python中有以下字典:
myDic = {}
myDic['username'] = 'smith44'
myDic['password'] = '123'
myDic['email'] = 'smith@gmail.com'
我想把它变成:
username = 'smith44'
password = '123'
email = 'smith@gmail.com'
这样我就可以直接在后一种方法中直接使用用户名,密码和电子邮件。我知道我可以使用字典,但为了兼容性,我需要这样做。
同样,我需要做的是将每个字典键变成一个单独的属性,该属性将获取其相应字典值的值。
更新 为了进一步支持我需要做的事情,这是我到目前为止所做的:
for key, value in myDic.iteritems():
exec("%s = " "'""%s""'" % (key, value))
答案 0 :(得分:2)
如果你真的需要这样做:
>>> d = {}
>>> d['test'] = "foo"
>>> locals().update(d)
>>> test
'foo'
但如果我是你,我会尝试找到一种不同的方法来解决您尝试解决的问题,而不是自动将变量添加到本地命名空间。几乎总是可以解决这个烂摊子的问题。
答案 1 :(得分:1)
您将使用attribute = value
str.join
格式获取字符串
In [12]: ", ".join(["%s = %s" % (k, v) for k,v in myDic.items()])
Out[12]: 'username = smith44, password = 123, email = smith@gmail.com'
In [13]: myDic.items()
Out[13]: [('username', 'smith44'), ('password', '123'), ('email', 'smith@gmail.com')]