変数を関数名として使用すると、関数のリストを持つことができ、ループで初期化できます。私はstrオブジェクトが呼び出すことができないと予想されるエラーを取得しています。しかし、私はそれを修正する方法を知らない。ありがとう。Pythonで関数名として変数を使用するにはどうすればいいですか?
#Open protocol configuration file
config = configparser.ConfigParser()
config.read("protocol.config")
# Create new threads for each protocol that is configured
protocols = ["ISO", "CMT", "ASCII"]
threads = []
threadID = 0
for protocol in protocols:
if (config.getboolean(protocol, "configured") == True):
threadID = threadID + 1
function_name = config.get(protocol, "protocol_func")
threads.append(function_name(threadID, config.get(protocol, "port")))
# Start new threads
for thread in threads:
thread.start()
print ("Exiting Main Protocol Manager Thread")
** **は**これらの機能ですか?特定のモジュールですか?現在のモジュールは?多くの場合、関数を辞書のキーにしてルックアップを行うのが最もクリーンです。例えば、その辞書に配置されるべき公開された関数のためのデコレータを使用します。そのような方法では、はるかに少ないメタプログラミングのハッカーです。 –