小编Kil*_*han的帖子

如何将目录导入为python模块

如果有目录/home/project/aaa。我知道它是一个 Python 包。

那么,我如何通过知道它的路径来导入这个模块。

意味着,我希望代码有效:

aaa = load_module("/home/project/aaa")
Run Code Online (Sandbox Code Playgroud)

我知道的唯一方法是,添加/home/projectsys.path

但它可能会引起一些问题:

如果我添加/home/projectsys.path

如果pytest路径中有一个目录/home/project

那么官方的 pytest 包将不起作用。

我试试吧importlib。但似乎importlib只能将文件作为模块导入,而不是路径。

所以,我试试看:

aaa = importlib.import_module("aaa", "/home/project")
Run Code Online (Sandbox Code Playgroud)

或者

aaa = importlib.import_module("aaa", "/home/project/aaa")
Run Code Online (Sandbox Code Playgroud)

他们两个都不工作。

那么,有没有其他方法可以做我想做的事?

哦,我正在使用 Python3.6


更新于 20170628

(注意:有一个__init__.pyin 文件夹/home/project/aaa

我知道的所有解决方案都是从单个文件导入模块。

如果bbb.py文件夹中有文件/home/project/aaa

然后,添加/home/project/aaasys.path__path__(无论如何)

import bbb 工作,但不是 import aaa

我想问的是如何将文件夹(或目录)作为模块导入。

对于我的示例,文件夹aaa被视为一个模块。

我想用import aaa …

python python-import python-3.x

4
推荐指数
1
解决办法
5123
查看次数

标签 统计

python ×1

python-3.x ×1

python-import ×1