如何在python中从包/子包中获取所有模块

2024-10-01 02:19:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目录结构:

/main
    main.py
    /services
        /package1      
            module1.py
            module2.py
        /package2
            module3.py
            module4.py
        /package3
            module5.py
            /package4
                module6.py
        ...

从我的main.py我想做一些事情,比如:

modules = getAllModulesFromPackage('services')
modules = getAllModulesFromPackage('services.package3')

modules对象将是一个包含给定包中所有模块的列表。如果我能得到“包对象”并将其作为参数传递就更好了。你知道吗

我该怎么做?你知道吗

更新

这是我真正的问题,我需要传递给flexApi对象一个包,因为它导入包的所有模块

flexApi = FlexApi()
flexApi.servicesLocation = 'services'
flexApi.start()

我为什么需要这个?因为我需要使用flexApi对象中的模块,比如:

module1 = flexApi.services.module1()
module1.someFunction()

因此,模块需要“注入”到flexApi对象中


Tags: 模块对象py目录modulesmainservice结构