在 Python 中,大多数模块都可以使用其名称作为字符串来导入。但是,在某些情况下可能需要根据模块的绝对路径导入模块。以下是动态导入模块(给定完整路径)的综合指南:
import importlib.util import sys # Specify the module name and its full path module_name = "module.name" file_path = "/path/to/file.py" # Create a specification for the module spec = importlib.util.spec_from_file_location(module_name, file_path) # Create the module object using the specification module = importlib.util.module_from_spec(spec) # Add the module to the system's module list sys.modules[module_name] = module # Execute the module's code spec.loader.exec_module(module) # Access the imported classes or functions module.MyClass()
from importlib.machinery import SourceFileLoader # Specify the module name and its full path module_name = "module.name" file_path = "/path/to/file.py" # Load the module using the SourceFileLoader module = SourceFileLoader(module_name, file_path).load_module() # Access the imported classes or functions module.MyClass()
import imp # Specify the module name and its full path module_name = "module.name" file_path = "/path/to/file.py" # Load the module using imp.load_source module = imp.load_source(module_name, file_path) # Access the imported classes or functions module.MyClass()
以上是如何使用完整路径动态导入Python模块?的详细内容。更多信息请关注PHP中文网其他相关文章!