2011-03-31 100 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