Атрибут объекта в питоне - PullRequest
4 голосов
/ 31 марта 2011

У меня есть следующее в файле 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Я делаю это возможным интерпретировать temp как сервер.

Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 31 марта 2011
s = __import__('conf1')
temp = 'server'
for v in getattr(conf, temp): # .keys() not required
    print v
2 голосов
/ 31 марта 2011

Вы хотите:

import conf1

temp=conf1.server 

for v in temp.keys(): print v

однако вам не нужно .keys () для перебора ключей dict, вы можете просто сделать:

for v in temp: print v
0 голосов
/ 31 марта 2011

Вы ищете переменную с именем temp в модуле conf.Если вы хотите динамически получить переменную на основе имени в строке, используйте getattr(conf, temp) вместо conf.temp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...