有没有办法导入并运行文件夹中的所有 .py 文件?
基本上我认为 pytest 是如何进行测试发现的。
似乎我想从文件路径导入到列表中,然后在每个模块上调用 .main(*args) 迭代列表。
它还需要兼容 python 2 和 3
Example
您可以使用importlib
。假设以下简单的目录结构:
a.py
and b.py
包含以下简单函数:
def main(name):
print name
In c.py
我们可以迭代我们的目录并使用importlib.import_module
导入每个文件。我们必须确保导入的模块可以全局访问,否则它们将仅是 for 循环的本地模块。
c.py
:
import importlib
files = ['a', 'b']
for f in files:
globals()[f] = importlib.import_module(f)
a.main('adam')
b.main('ben')
Running c.py
产生以下输出:
adam
ben
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)