2017-04-06 53 views
1

我在Python有一个对象myobj(的MyObj一个实例),当与print()叫,版画Python对象显示为map(dict),但无法通过属性或__getitem__调用?

{"host": "localhost", "user_indices": [], "password": null, "port": 27017} 

所以myobj似乎是一个字典式的对象。但myobj['host']提高

TypeError: 'AutoProxy[MyObj]' object has no attribute '__getitem__' 

,并试图myobj.host当我得到一个AttributeError

我也试过使用myobj.__dict__['host']dict(myobj)['host']无济于事。有没有人遇到过这个问题?

+1

什么Python模块,你在这里使用? – numbermaniac

+0

在MyObj类或其超类:__repr__或__str__或__unicode__中重写了这些方法之一吗? – AKS

回答

1

首先,python中没有“null”这样的东西。您应该使用“无”代替。当你使用null时,代码应该引发一个NameError。 其次,试试这个代码,也许只是零切换到无应解决的问题:

>>> temp = {"host": "localhost", "user_indices": [], "password": None, "port": 27017} 
>>> temp['host'] 
'localhost' 
>>> 
相关问题