重複の可能性:
Pythonクラスを動的にロードする方法
私は現在、データベースに保存されているゲームを更新するプロセスを自動化するために「while」ループを使用しています。'while'ループは、ゲームの数に達するまで繰り返されます。各反復は、すべてのゲームデータ(バージョン、更新リンクなど)を含む行を返します。
これで、「Scripts」というサブディレクトリに各ゲームのスクリプトを作成しました。このような
MainScript.py
--> Scripts
--> Game1.py
--> Game2.py
--> Game3.py
これで、MainScriptは、データベースに接続してゲーム名を取得した後、すべてのゲームスクリプトを1つずつ呼び出します。
ただし、問題は、データベースに格納されているゲーム名が文字列であり、Game1.py、Game2.py、Game3.pyのそれぞれの関数がゲーム名と同じであるということです。
つまり、ゲームの関数を呼び出そうとすると、「Minecraft」と言います。このように見える必要があります。
Scripts.Minecraft.Minecraft(version, size, download)
これを動的に実行しようとするのが私の質問です。whileループ内にあるため、名前の部分は反復ごとに変わります。これを動的に行うにはどうすればよいですか?
Scripts.<GameName>.<GameName>(version, size, download)
それは常に変数を文字通り受け取り、それを使用できないと言います。関数を呼び出すときに変数を使用するにはどうすればよいですか?