동적으로 모듈 목록을 가져 오려고합니다. 이 일을하는 데 문제가 있습니다. 파이썬은 항상 ImportError
을 외치며 제 모듈이 존재하지 않는다고 알려줍니다.Python3.0에서 모듈을 동적으로 임포트합니까?
먼저 나는과 같이, 모듈 파일 이름의 목록을 얻고 ".py"
접미사를 잘라 :
viable_plugins = filter(is_plugin, os.listdir(plugin_dir))
viable_plugins = map(lambda name: name[:-3], viable_plugins)
그럼 난 플러그인 디렉토리에 os.chdir
및 map __import__
전체 것, 그래서 같은 :
active_plugins = map(__import__, viable_plugins)
그러나 active_plugins
을 목록으로 만들고 그 안에있는 모듈에 액세스하려고 시도하면 Python은 모듈이 가져올 수 없으므로 모듈을 가져올 수 없다는 오류가 발생합니다.
내가 뭘 잘못하고 있니?
편집 : 단순히 os.chdir
및 __import__(modulefilename)
내가 필요 정확히 무엇을 생산하고, 대화 형 인터프리터를 사용하여. 왜 위의 접근 방식이 작동하지 않는 것입니까? 파이썬의 이상으로 뭔가를하고 있습니까? 기능이입니다.