2011-03-31 193 views
4

我在conf1.py文件下列對象屬性

server = { 
    '1':'ABC' 
    '2':'CD' 
} 

client = { 
    '4':'jh' 
    '5':'lk' 
} 
在其他Python文件

s=__import__('conf1') 
temp='server' 
for v in conf.temp.keys(): 
    print v 

並獲得該CONF對象沒有屬性臨時 那麼如何錯誤

現在我可以將這解釋爲temp作爲服務器。

由於提前

回答

2
s = __import__('conf1') 
temp = 'server' 
for v in getattr(conf, temp): # .keys() not required 
    print v 
+0

@eldarerathis:感謝編輯今天我也嘗試學習降價編輯,你可以看到我的新問題 – 2011-04-01 14:18:20

+0

這對我的作品感謝。 – 2011-04-01 14:18:56

2

你想:

import conf1 

temp=conf1.server 

for v in temp.keys(): print v 

但是你不需要.keys()來在字典的鍵然後遍歷,你可以做:

for v in temp: print v 
+1

而且你也不需要'keys()'。 'for temp in'已經遍歷了鍵。 – 2011-03-31 15:47:14

+0

非常真實,更新了答案。 – 2011-03-31 15:48:27

+0

這也工作,非常好的答案謝謝.. – 2011-04-01 14:19:49

0

您正在尋找模塊conf中名爲temp的變量。如果要根據字符串中的名稱動態獲取變量,請使用getattr(conf, temp)而不是conf.temp

+0

這是非常有趣的感謝。 – 2011-04-01 14:20:30