Python模块发现

时间:2015-07-16 15:10:16

标签: python

背景:我正在尝试微调我们的覆盖率指标。对于许多开发人员而言,经常发生新的子模块被提交而未被使用(例如,提交将在稍后的生产代码中使用的新模块)。由于大多数时候这些都是子模块,如果模块的成员从未被调用过,coverage.py将不知道它们,给出错误的覆盖报告。显然,我不能依赖开发人员在.pylintrc文件中添加这些模块,因此最好的方法是在顶级列表下生成所有可用python子模块的树。我需要像

这样的东西
module_list = ('module_a', 'module_b',)
for module_name in module_list:
    module = importlib.import_module(module_name)
    module_tree = get_submodules(module)

在这里我期待这样的事情:

{
    'module_a': {
        'module': <module 'module_a' from …>,
        'submodules': {
            'module_a.submodule1': {
                'module': <module 'module_a.submodule1' from …>,
                'submodules': {}
             },
             'module_a.submodule2': {
…

是否可以不篡改目录路径?

0 个答案:

没有答案