私の Python プロジェクトでは、関数の名前を入力して実行できるコマンド プロンプトのようなインターフェイスを作成しようとしています。例:
Prompt >>> run.check
Running function check....
Prompt >>> run.get
Running function get
上記の例では、run.check と入力すると、check という名前の関数が実行され、run.get は関数 get などを実行する必要があります。
現在、raw_input を使用したプロンプトがあり、関数エイリアスと関数名の辞書を使用してコマンドを実行できます。つまり、
COMMANDS = {'exit': sys.exit,
'hello': greet,
'option3': function3,
'option4': function4,
}
cmd = raw_input("Prompt >>> ")
COMMANDS.get(cmd, invalidFunction)()
しかし、私のプログラムの多くの関数には引数を渡す必要があり、このメソッドの使い方がわかりません。もう1つのことは、私のプロジェクトの主な目的は、モジュール(.pyファイル)をフォルダーに追加し、インターフェイスのようなコマンドプロンプトを使用してメインのpythonプログラムで動的に実行することです。メインプログラムに変更はありません。
セキュリティに関するいくつかの欠点があるため、関数 exec を使用するかどうかはわかりません。
ありがとうございました。