-1
import json
xyz={"john": """{"name": "john","id":"123"}""","tom" : """{"name":"tom","id":"456"}"""}
class abc(object):
def __init__ (self,**d):
self.name=d['name'];
self.id=d['id'];
def main():
ks=xyz.keys()
for j in ks:
lm1="xyz['%s']" %(j)
ds=eval(lm1);
ds1=json.loads(ds)
ln="%s=abc(**ds1)" %(j)
print(ln)
exec(ln);
ln2="%s.name" %(j)
print(eval(ln2));
print(john.name)
print(tom.id)
if __name__ == "__main__":
main();
tom=abc(**ds1)
tom
john=abc(**ds1)
john
Traceback (most recent call last):
File "new6.py", line 26, in <module>
main();
File "new6.py", line 22, in main
print(john.name)
NameError: name 'john' is not defined
爲什麼我不能夠訪問「tom.name」主「 john.name」()塊? 我在哪裏做錯了?以及如何以更簡單的方式完成? (我實際上有一個json文件,不打擾太多關於「xyz」)
@khelwood錯誤地提出了問題......它是我的第一次 –
對我而言,程序正常工作。沒有NameError,如果我運行它。 – Humbalan
可能是因爲,你可能在python2。*中運行它,我希望它在3. * –