제 CS 숙제 - Wesley Chun의 "Core Python Programming"에서 연습 문제 12-6. 목적은 확장 가져 오기를 import ... as
이 구현되지 않은 경우와 같은 기능으로 모방하는 것입니다.Python에서 함수를 사용하여 확장 가져 오기
def importAs(name):
import name
ret = name
del name
return ret
foo = importAs(os)
는 foo = importAs(os)
에서 NameError: name 'os' is not defined
를 얻을 : 반면,
def importAs(name):
eval('import '+name)
ret = eval(name)
eval('del '+name)
return ret
foo = importAs('os')
이 File "<string>", line 1
에서 import os
에서 SyntaxError: invalid syntax
를 얻을 :이 오류를 얻을 둘 다 내 시도이다.
아무도 이유를 설명하고 해결책을 제공해 주시겠습니까?
편집 : 보관하십시오 그것은 단지 표현을 평가할 수 있습니다 만 :)
가능한 중복 (http://stackoverflow.com/questions/17136772/eval-to-import-a-module) –