にディレクトリからすべてのモジュールは、私が取引所からのすべてのモジュールが、私はそれらを反復してインスタンス化することができるようにフォルダ動的負荷を希望exchange.py
でインポート配列
exchange.py
exchanges/
kraken.py
gemini.py
bitfinex.py
今私のディレクトリ構造を見よプログラム内でクラスを作成します。擬似コード:
exchanges = load_modules('exchanges')
for module in exchanges:
config = module.CONFIG # a global
for class in module:
loaded_classes.append(module.class) # add each class in each module to a list
目標は、すべての貢献者は、exchange.py
から継承するクラスを作成して自動的に、その構成をロードしますexchanges
フォルダやアプリにそれを置くことを可能にすることです。
私はthis answerを見ましたが、これはosモジュールを使ってディレクトリ内のすべてのファイルを読み込みますが、これは私にとっては不合理なことです。
2つの質問が残っています:1 /私は '__init __。py'の追加が非難されたと思っていました.2 /どうすればそのフォルダのモジュールの名前、サブクラス、グローバルに動的にアクセスできますか? – bluppfisk
回答1. '__init __。py'は価値が下落していないと思います。 2.あなたは 'importlib'を使って自分の仕事であるとは思わなかったあなたの仕事 –