Как использовать переменную в качестве имени функции, чтобы я мог иметь список функций и инициализировать их в цикле. Я получаю ожидаемую ошибку, которая является объектом 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")
** Где ** находятся эти функции? В конкретном модуле? Текущий модуль? Часто, самое чистое, чтобы функции были ключами словаря и выполняли поиск - например, используя декоратор для выставленных функций, которые должны быть помещены в этот словарь; тем более метапрограммируя хакерство таким образом. –