タイトルは正しくないかもしれませんが、これは私が考えることができる最も近いものです。
argparseを使用して作成されたコマンドラインパーサーのようなファイルsample.pyがあります。引数に基づいて、他の python ファイルを呼び出しています。例 - -C でモジュール オプションをコンパイルします。
cmd>python sample.py -M module -C
モジュール名に基づいて、構成ファイルは module/configuration.py の下にあります
configuration.py ファイルからいくつかの関数を呼び出す必要があります。最善の方法は何ですか。パスは常に異なり、実行時にファイルをインポートする必要があるため、python ファイルをインポートできません。
この問題を解決する方法はありますか?
importlib パッケージについて読んだことがありますが、自分の用途に合わせて動作させることができませんでした。
私のフレームワークの構造:
sample.py
|
APIs
|
compile.py
/module/configuration.py
compile.py ファイルのサンプル
#compile.py
import <packages>
def compile(module_name):
# call some function in /module/configuration.py file.
問題は、module_name がコンパイル関数で渡されるため、インポートで使用できないことです。
私の質問は長すぎるか、あまりにも明白すぎるかもしれませんが、私は多くの苦労をしてきました. どんな助けでも大歓迎です。