전체 경로가 지정된 모듈을 동적으로 가져오기
Python에서는 이름을 미리 알지 못해도 모듈을 가져올 수 있지만 전체 경로입니다. 이 기능은 모듈이 다른 디렉토리에 있거나 모듈 이름이 동적으로 생성되는 경우에 유용합니다.
해결책
모듈을 동적으로 가져오는 방법에는 여러 가지가 있습니다. 전체 경로 기준:
Python 3.5 :
import importlib.util import sys # Define the full path to the module module_path = "/path/to/module.py" # Create a specification for the module spec = importlib.util.spec_from_file_location("module_name", module_path) # Create the module from the specification foo = importlib.util.module_from_spec(spec) # Add the module to the list of imported modules sys.modules["module_name"] = foo # Execute the module's code spec.loader.exec_module(foo) # Access a class from the imported module foo.MyClass()
Python 3.3 및 3.4:
from importlib.machinery import SourceFileLoader # Define the full path to the module module_path = "/path/to/module.py" # Create a SourceFileLoader object foo = SourceFileLoader("module_name", module_path).load_module() # Access a class from the imported module foo.MyClass()
Python 2:
import imp # Define the full path to the module module_path = "/path/to/module.py" # Import the module using imp.load_source() foo = imp.load_source('module_name', module_path) # Access a class from the imported module foo.MyClass()
이 옵션이 유일한 옵션은 아니며 다른 옵션도 있다는 점에 유의하세요. 특정 요구 사항과 Python 버전에 따라 메서드를 사용할 수 있습니다.
위 내용은 전체 경로를 사용하여 Python 모듈을 동적으로 가져오려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!