我有以下几点:对象__init__.pydefine.pydefine.py: class Place: def __init__(self,name,inhabitants): self.name=name self.inhabitants=inhabitants myFunction.toStoreThings.on.db(name,inhabitants,'places') def someUsefulFunction(self): pass如果运行import objects,请moon=objects.Place('Moon',[])关闭解释器,然后再次将其打开。我显然丢失了moon实例,但是我已经(u'Moon',u'[]')将其存储在数据库中。我已经__init__.py从数据库及其中检索了该信息unstring,但是我也希望将其实例化'Moon',Moon=Place('Moon',[]) 以便可以使用Moon.someUsefulFunction(),objects.Moon.someUsefulFunction()甚至在关闭解释器之后也可以使用。我怎样才能做到这一点?我能够做到这一点:__init__.py:# myFunction() creates a dictionary `objdic` of the stuff in the database# >>>objects.objdic# {'places' : [['Moon',[]]]}instancesdic={}instancesdic['places']={}instancesdic['places'][objdic['places'][0][0]]=Place(*objdic['places'][0])这使>>> objects.instancesdic{'places': {'Moon': <objects.Place instance at 0x1b29248>}}这样我可以用objects.instancesdic['places']['Moon'].someUsefulFunction()没关系,但我真的很想要objects.Moon.someUsefulFunction()。任何试图称呼整个事情的尝试Moon都会导致:TypeError: 'str' object does not support item assignment或者只是将字典中的键更改为实例,而不是Moon创建实例。
添加回答
举报
0/150
提交
取消