나는 문자열이 있습니다 abc.def.ghi.jkl.myfile.mymethod
. 동적으로 가져 오려면 어떻게합니까 mymethod
?
내가 어떻게했는지는 다음과 같습니다.
def get_method_from_file(full_path):
if len(full_path) == 1:
return map(__import__,[full_path[0]])[0]
return getattr(get_method_from_file(full_path[:-1]),full_path[-1])
if __name__=='__main__':
print get_method_from_file('abc.def.ghi.jkl.myfile.mymethod'.split('.'))
개별 모듈 가져 오기가 전혀 필요한지 궁금합니다.
편집 : Python 버전 2.6.5를 사용하고 있습니다.
importlib.import_module()
over__import__()
: docs.python.org/2/library/functions.html#__import__-2.7 이상을 사용하도록 권장 합니다.