给定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中模块的完整路径,如何导入模块? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

查找导入模块的绝对路径

从相对路径导入模块

Nodejs - 除非使用完整路径,否则无法导入模块

给定相对路径时,如何让 MSBUILD 评估和打印完整路径?

有没有办法在 Go 代码中获取 Go 模块的完整路径 [关闭]

模块的导入和使用