반응형
모듈 이름이 변수에있을 때 모듈 가져 오기
중복 가능성 :
Python에서 동적 모듈 가져 오기
디렉토리에서 파일 이름을 가져 와서 파일을 가져 오는 다른 모듈로 전달하는 작은 스크립트를 작성 중입니다.
따라서 흐름은 1) 모듈 이름 가져 오기 (변수에 저장) 2)이 변수 이름을 모듈에 전달 3) 이름이 변수 이름에 저장된 모듈을 가져옵니다.
내 코드는
data_files = [x[2] for x in os.walk(os.path.dirname(sys.argv[0]))]
hello = data_files[0]
modulename = hello[0].split(".")[0]
import modulename
문제는 import 문에 도달했을 때 modulename을이 변수에 저장된 값이 아닌 실제 모듈 이름으로 읽는 것입니다. 이것이 파이썬에서 어떻게 작동하는지 잘 모르겠습니다.이 문제를 해결하는 데 도움이 될 것입니다.
내장 __import__
기능을 원합니다.
new_module = __import__(modulename)
importlib가 아마도 갈 길일 것입니다. 그것에 대한 문서는 여기에 있습니다 . 그것은 일반적으로보다 선호 있어요 __import__
위해 가장 사용합니다.
귀하의 경우 다음을 사용합니다.
import importlib
module = importlib.import_module(module_name, package=None)
반응형
'programing' 카테고리의 다른 글
Python argparse 및 bash 완성 (0) | 2021.01.15 |
---|---|
GitHub에 파일을 업로드하는 방법 (0) | 2021.01.15 |
Wget으로 요청을 게시 하시겠습니까? (0) | 2021.01.15 |
크로스 브라우저는 앵커 요소의 핑 속성은 어떻게됩니까? (0) | 2021.01.15 |
실행에 사용중인 Java Maven 버전을 어떻게 파악하고 변경합니까? (0) | 2021.01.14 |