给定python 3.5中模块的完整路径,如何导入模块? [复制]

Posted

技术标签:

【中文标题】给定python 3.5中模块的完整路径,如何导入模块? [复制]【英文标题】:How to import a module given the full path of the module in python 3.5? [duplicate] 【发布时间】:2019-10-31 23:23:15 【问题描述】:

如何根据完整路径加载 Python 模块?请注意,该文件可以位于文件系统中的任何位置,因为它是一个配置选项。 我在 ubutnu 中使用 python 3.5,到目前为止我的代码是:

创建python模块test.py

import sys
sys.path.append("test/lib/")
from tes1 import Client1
from tes2 import Client2
import tes3

【问题讨论】:

只要附加的路径包含您要导入的模块, sys.path.append() 就可以工作。你的问题到底是什么?不工作吗? 【参考方案1】:

试试这个(Python 3.5+ 支持这种语法):

import importlib.util
spec = importlib.util.spec_from_file_location("lib.test", "/test/lib/test.py")
foo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(foo)
foo.MyClass()

【讨论】:

以上是关于给定python 3.5中模块的完整路径,如何导入模块? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

查找导入模块的绝对路径

从相对路径导入模块

为啥 Python zipfile 模块在 zip 文件中创建完整路径

如何在python3中正确导入同一目录下的模块

如何在 Python 中获取当前的导入路径?

如何在python3中正确导入同一目录下的模块