exec
輸入に使うデメリットを知りたいです。ファイルの 1 つは、選択したプロジェクトに応じて特定の機能を実際に実装するためのインターフェイスとして機能します (フレームワークは複数のプロジェクトで動作することを意図しています)。
最初のユースケースは次のようになります。
exec ("from API.%s.specific_API_%s import *" % (project, project))
project
このようにして、インターフェイスモジュール自体に挿入される変数以外は何もハードコーディングする必要はありません。
これは別の方法です:
if project == 'project_one':
from API.project_one.specific_API_project_one import *
elif project == 'project_two':
from API.project_two.specific_API_project_two import *
elif project == 'project_three':
from API.project_three.specific_API_project_three import *
このように、新しいプロジェクトがサポートされるように追加されるたびに、このインターフェイス ファイルを変更する必要があります。