2011-03-31 7 views
4

나는 conf1.py 파일에 다음 한개체 속성

다른 파이썬 파일

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

그리고 속성 임시 어떻게이없는 개체 conf의 오류를 얻기에 지금

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

client = { 
    '4':'jh' 
    '5':'lk' 
} 

temp를 서버로 해석 할 수있게 만들 수 있습니까? 사전에

덕분에

답변

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

@eldarerathis : 오늘 편집 해 주셔서 감사합니다. 작문 편집을 배우려고합니다. 제 새로운 질문을 볼 수 있습니다. –

+0

감사합니다. –

2

당신이 원하는 :

import conf1 

temp=conf1.server 

for v in temp.keys(): print v 

당신이 .keys 필요하지 않습니다하지만()는 딕셔너리의 키를 반복하는, 당신은 단지 수행 할 수 있습니다

for v in temp: print v 
+1

그리고'keys() '도 필요하지 않습니다. 'for v in temp'는 이미 키를 반복합니다. –

+0

매우 사실이며 답변을 업데이트했습니다. –

+0

이것도 작동하고 아주 좋은 답변 감사합니다 .. –

0

모듈 conf에서 temp이라는 변수를 찾고 있습니다. 문자열의 이름을 기반으로 변수를 동적으로 가져 오려면 conf.temp 대신 getattr(conf, temp)을 사용하십시오.

+0

이것은 매우 재미있는 감사합니다. –

관련 문제