日々精進

新しく学んだことを書き留めていきます

pythonで特定のフォルダのモジュールを全部読み込む方法

特定のクラスのサブクラスをsubclassesを使ってすべて取得する必要があったが、subclassesはimport済のサブクラスしか返してくれない。 なので以下のコードで特定のフォルダ内のすべてのモジュールをimportした。

def import_feature_creators():
    feature_files = glob.glob(str(ROOT_PATH / "feature" / "*.py"))
    modules = [basename(f)[:-3] for f in feature_files if isfile(f) and not f.endswith('__init__.py')]
    for module in modules:
        importlib.import_module(f"my.feature.{module}")

参考:

qiita.com