迭代Python中的模块

因此,我有一个嵌套文件夹,其中包含执行某些操作的模块。 注意:它们不是类,而只是脚本。 我想迭代那些模块。 我现在所拥有的:

from scripts.module_1 import train_module_1 
from scripts.module_2  import train_module_2  
from scripts.module_3 import train_module_3
from scripts.module_4 import train_module_4 


def test_train_module_1():
    try:
        train_module_1.main('test.csv')
    except ValueError as value_error:
        assert False, "test_train_module_1  failed:" + str(value_error)
...
The same for all train modules

我想知道是否可以以某种方式迭代每个模块中的那些模块 仅采用以“ train_”开头的文件 并分别执行主要功能。我基本上知道该怎么做,但是我没有为这种迭代找到一个好的解决方案。 我需要动态地从脚本中获取模块。这样即使有人添加模块,我也不需要在这里更改代码。

是否有类似的东西:

for i in scripts.children():
    for j in i.children():
        if j.__name__.startswith('train_'):
            try:
                j.main(f'{j.__name__}_test.csv')
            except ValueError as value_error:
                assert False, f'test_{j.__name__}  failed: {value_error}'

提前致谢

评论