2017-04-06 15 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' 
>>> 
相關問題