【发布时间】:2020-03-21 03:47:21
【问题描述】:
我有一个名为test.py 的脚本,代码如下(我已经大大简化了事情):
from foo import Bar
bar = Bar()
result = bar.do_something()
但我不只是有一个名为foo 的脚本。我有许多名为foo 的脚本,按以下目录结构组织:
└── project
├── code
│ ├── test.py
└── scripts
├── script_1
└── foo.py
├── script_2
└── foo.py
├── script_3
└── foo.py
├── script_4
└── foo.py
├── script_5
└── foo.py
每个foo.py 的实现略有不同。而我想用test.py 做的是通过导入每个脚本并在其上运行一些测试来测试所有脚本。下面是一些代码(*表示伪代码)
*Get all script directories*
*For each directory in script directories:*
*import foo.py from this directory*
bar = Bar()
result = bar.do_something()
*Save the result for this directory*
我该怎么做?特别是,我如何迭代地导入脚本,例如,
*import foo.py from this directory*?
【问题讨论】:
-
您可能需要在项目目录下创建一个 init.py 文件来指定您使用的脚本。下面是一些详细的解释:stackoverflow.com/questions/448271/what-is-init-py-for
-
您必须在每个项目目录下创建dunder init.py文件才能相对访问模块。
标签: python python-3.x