Pythonでディレクトリ配下にあるスクリプトの特定の関数を実行したい
下記のようにスクリプトが配置されていて、main.pyからhogeフォルダ配下の複数(実際には複数になります。)のスクリプト内の、特定の関数を実行したいです。
/
├main.py
└hoge
├huga.py
└piyo.py
huga.py
def execute():
print('huga_execute')
piyo.py
def execute():
print('piyo_execute')
上記の構成の場合に、main.pyからhuga.pyおよびpiyo.pyのexcute関数を実行したいということです。
勿論それぞれimportすれば実行できますが、そうではなく、動的に実行したいです。
(hoge配下のスクリプトは増減する可能性があり、main.pyを変更せずに対応したいため。)
main.py
import hoge.huga # importでhugaやpiyoは記載しない、
import hoge.piyo
hoge.huga.execute() # これらを実行したい
hoge.piyo.execute()
イメージとしては下記のような感じで、何らかの方法でmodule?の一覧を取得して、そこから固定の関数を実行できればと考えております。
list = getModule('hoge') # ['huga', 'piyo']
for m in list:
m.execute()