Python3可以通过sys.path.append来导入上级目录中的模块,具体步骤如下:
1. 引入sys模块
import sys
2. 获取当前模块的绝对路径
current_path = os.path.abspath(os.path.dirname(__file__))
3. 添加上级目录的路径到sys.path
sys.path.append(os.path.dirname(current_path))
4. 导入上级目录中的模块
from .. import module
上述步骤完成后,就可以在当前模块中使用上级目录中的模块了。
可以使用importlib.machinery.PathFinder.find_module()
来动态查找模块,从而实现导入上级目录中的模块,具体步骤如下:
1. 引入sys模块和importlib.machinery.PathFinder模块
import sys from importlib.machinery import PathFinder
2. 获取当前模块的绝对路径
current_path = os.path.abspath(os.path.dirname(__file__))
3. 添加上级目录的路径到sys.path
sys.path.append(os.path.dirname(current_path))
4. 使用PathFinder.find_module()查找模块
module_spec = PathFinder.find_module('module', [os.path.dirname(current_path)])
5. 加载模块
module = importlib.util.module_from_spec(module_spec)
6. 导入模块
module_spec.loader.exec_module(module)
上述步骤完成后,就可以在当前模块中使用上级目录中的模块了。
:Python3可以通过sys.path.append或者使用importlib.machinery.PathFinder.find_module()来导入上级目录中的模块,具体步骤如上所述,实现起来也非常简单。