지정된 경로에서 모듈을 동적으로 가져오기
Python에서는 일반적으로 모듈 이름을 지정하여 모듈을 가져옵니다. 그러나 파일 시스템의 위치에 관계없이 특정 파일에서 모듈을 가져와야 하는 경우에는 어떻게 해야 합니까?
해결책:
다음을 기반으로 모듈을 동적으로 가져오려면 어떻게 해야 합니까? 전체 경로를 사용하려면 다음 기술 중 하나를 활용할 수 있습니다.
Python 3.5 (권장):
import importlib.util import sys spec = importlib.util.spec_from_file_location("module.name", "/path/to/file.py") foo = importlib.util.module_from_spec(spec) sys.modules["module.name"] = foo spec.loader.exec_module(foo) foo.MyClass() # Access a class within the module
Python 3.3 및 3.4:
from importlib.machinery import SourceFileLoader foo = SourceFileLoader("module.name", "/path/to/file.py").load_module() foo.MyClass() # Access a class within the module
Python 2:
import imp foo = imp.load_source('module.name', '/path/to/file.py') foo.MyClass() # Access a class within the module
이러한 방법은 편리함을 제공합니다. 컴파일된 Python 파일과 DLL을 가져오기 위한 옵션도 있습니다.
추가 참고 사항:
이 접근 방식은 동적으로 생성된 모듈이나 다음과 같은 모듈로 작업할 때 특히 유용하다는 점을 언급할 가치가 있습니다. 표준 Python 경로에는 설치되지 않습니다.
위 내용은 특정 파일 경로에서 Python 모듈을 동적으로 가져오려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!