有没有办法导入并运行文件夹中的所有.py文件?
基本上我认为pytest是如何进行测试的。
似乎我想从文件路径导入到列表中,然后遍历每个模块上调用.main(* args)的列表。
它还需要兼容python 2和3
实施例
答案 0 :(得分:1)
您可以使用importlib
。假设以下简单的目录结构:
a.py
和b.py
包含以下简单函数:
def main(name):
print name
在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')
运行c.py
会产生以下输出:
adam
ben